我试图了解操作系统的双模式操作是什么。我从各种来源了解到,这是系统保护自身和其他组件免受用户基本滥用的一种方式。
(我假设——因为我模糊地看到了一些关于模式位的东西)每个进程都被分配了一个模式位来区分用户模式和内核模式进程。模式位存储在过程控制块中。
因此,它只是一种告诉用户启动了哪个进程以及操作系统启动了哪个进程的方法;授予某些特权?(为什么叫内核模式而不是操作系统模式)?
我试图了解操作系统的双模式操作是什么。我从各种来源了解到,这是系统保护自身和其他组件免受用户基本滥用的一种方式。
(我假设——因为我模糊地看到了一些关于模式位的东西)每个进程都被分配了一个模式位来区分用户模式和内核模式进程。模式位存储在过程控制块中。
因此,它只是一种告诉用户启动了哪个进程以及操作系统启动了哪个进程的方法;授予某些特权?(为什么叫内核模式而不是操作系统模式)?
没有每个进程模式位。处理器 (CPU) 有两种模式(多于两种,但在本次讨论中假设它只有 2 种) - 用户模式和特权模式。处理器在用户模式下执行用户空间进程。这基本上是为了确保用户空间进程没有超出必要的控制权(从而防止恶意用户弄乱系统的硬件)。现在,当用户进程必须使用硬件(例如,文件系统或 IO)时,它必须请求内核代表它执行此操作。它使用系统调用来实现这一点,该系统调用在内部将 CPU 模式更改为特权模式,从而为系统调用代码提供对系统的完全访问权限。
Dual-Mode Operation ,它允许操作系统保护自己和其他系统组件有一个硬件提供的称为模式位的东西,它提供了区分系统何时运行用户代码或内核代码的能力:)