1

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

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

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

这是否意味着诸如LOAD和之类的指令STORE被禁止?还是有别的意思?

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

如果它含糊不清,我很抱歉。如果可能的话,任何人都可以用一个例子来解释它吗?

4

1 回答 1

0

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

在谈论您问题的 I/O 部分之前,我将尝试直接设置几件事。

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

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

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

于 2015-07-11T20:57:39.683 回答