【问题标题】:Questions about supervisor mode关于主管模式的问题
【发布时间】:2015-02-04 07:43:32
【问题描述】:

从多个资源中读取操作系统让管理员模式感到困惑。例如,在维基百科上:

在内核模式下,CPU 可以执行其体系结构允许的任何操作 ....................................

在其他 CPU 模式下,对 CPU 操作的某些限制由硬件强制执行。通常,某些指令是不允许的(尤其是那些可能改变机器全局状态的指令——包括 I/O 操作),某些内存区域无法访问

是不是表示禁止LOADSTORE等指令?还是有别的意思?

我之所以这么问是因为在纯 RISC 处理器上,应该访问 IO/内存的唯一指令是 LOADSTORE。因此,计算某个算术表达式的简单程序将需要主管模式来读取其操作数。

如果含糊不清,我深表歉意。如果可能的话,谁能举个例子解释一下?

【问题讨论】:

    标签: processor supervisor-mode


    【解决方案1】:

    我看到这个问题是几个月前被问到的,应该早就回答了。

    在谈论您问题的 I/O 部分之前,我会尝试澄清一些事情。

    CPU 在“内核模式”下运行意味着操作系统允许 CPU 能够执行一些额外的指令。这是通过在适当的时候设置一些标志来完成的。可以把它想象成一个数字开关启用或禁用嵌入在处理器中的特定操作。

    在RISC机器中,LOAD和STORE一般都是寄存器相关的操作。事实上,从处理器的角度来看,进出主存的流量并不真正被视为 I/O 操作。借助预编程的页表,主存储器和处理器之间的数据传输非常自动发生(除非在主存储器中也找不到所需的数据,在这种情况下,它通常必须进行磁盘 I/O)。很明显,OS 提前对这个页表进行了编程,并在其中进行簿记操作。

    I/O 操作通常与可通过中断控制器访问的其他外部设备相关。每当 I/O 操作完成时,相应的设备都会向处理器发出中断,这会导致操作系统立即适当地更改处理器的特权级别。处理器依次计算中断引发的请求。这个中断是操作系统开发人员编写的程序,可能包含某些特权指令。这种提升的特权级别有时被称为“内核模式”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 2011-01-26
      相关资源
      最近更新 更多