一本关于Unix编程的书说
init进程永远不会消亡。它是一个普通的用户进程,而不是内核中的系统进程,比如swapper,尽管它确实以超级用户权限运行。
什么使流程成为系统流程?系统进程是否嵌入在内核代码中?是否所有系统进程都以超级用户权限运行?
答案 0 :(得分:2)
本书可能指的是完全在内核模式下运行的进程。在某些版本的Unix中,没有任何实际的可执行文件可以实现这些过程 - 内核“伪造”进入(和/或线程)列表的条目,只是因为它有一些要安排的东西,以及一些可以计算CPU的东西时间到了。在其他实现中,是可执行文件,但它会调用一个永不返回的系统调用。
IOW,这是你的第一个解释(“嵌入在内核代码中”)。
答案 1 :(得分:0)
我认为内核模式进程与具有超级用户权限的进程之间存在混淆。
这本书可能想说 init 不能在内核模式下运行,但仍然以超级管理权限运行。我希望我是对的。
有两种模式 - 用户模式和内核模式。所有类型的系统调用都以内核模式执行,以便它们可以访问操作系统功能。
详细了解Protected Mode