【发布时间】:2013-11-21 21:30:32
【问题描述】:
为什么 Unix 的运行状态(在状态转换图中)分为“用户运行”和“内核运行”......以及如何将我的答案映射到一种操作系统实现
【问题讨论】:
-
自从多处理发明以来,这不再是真的。在多处理器系统中,一个 CPU 内核可以运行内核代码,而另一个 CPU 内核可以运行用户代码。所以这有点过时了......
标签: unix operating-system kernel
为什么 Unix 的运行状态(在状态转换图中)分为“用户运行”和“内核运行”......以及如何将我的答案映射到一种操作系统实现
【问题讨论】:
标签: unix operating-system kernel
用户运行通常是纯计算发生的地方——例如:数学、数据结构的操作、用户输入的解析等。内核模式是你进行系统调用时发生的事情——例如:read()write()open() ioctl() 或任何与设备、文件或内核服务交互的东西。如果您想知道原因,请考虑如果任意进程可以直接操作磁盘上的字节而不是通过文件系统之类的抽象操作,您可以做出的稳定性保证。
【讨论】: