什么执行进程的指令:内核还是CPU?

什么执行进程的指令:内核还是CPU?

计算机系统:程序员的视角 说:

在此输入图像描述

图 8.14 显示了一对进程 A 和 B 之间的上下文切换示例。在这个示例中,进程 A 最初在用户模式下运行,直到它通过执行 read 系统调用而陷入内核。内核中的陷阱处理程序向磁盘控制器请求 DMA 传输,并在磁盘控制器完成将数据从磁盘传输到内存后安排磁盘中断处理器。

磁盘将花费相对较长的时间来获取数据(大约几十毫秒),因此内核不会在此期间等待并且什么也不做,而是执行从进程 A 到 B 的上下文切换。请注意,在转变,内核代表进程A在用户模式下执行指令(即,没有单独的内核进程)。在切换的第一部分中,内核代表进程 A 在内核模式下执行指令。然后在某个时刻它开始代表进程 B 执行指令(仍处于内核模式)。切换后,内核 代表进程 B 在用户模式执行指令。

然后,进程 B 在用户模式下运行一段时间,直到磁盘发送中断信号,表示数据已从磁盘传输到内存。内核决定进程 B 已运行足够长的时间,并执行从进程 B 到 A 的上下文切换,将进程 A 中的控制权返回给 read 系统调用之后的指令。进程 A 继续运行,直到发生下一个异常,依此类推。

什么是“内核代表进程在用户/内核模式下执行指令”是什么意思?

不是只有cpu执行指令吗?

谢谢。

答案1

是的,只有CPU执行指令。

我不确定作者想用这个特定的短语来解释什么......

相关内容