linux初始化进程是在内核模式还是用户模式下运行?

linux初始化进程是在内核模式还是用户模式下运行?,linux,linux-kernel,kernel,gnu,Linux,Linux Kernel,Kernel,Gnu,我正在努力学习linux内核,在TLDP的linux内核2.0书中。init是进程还是内核线程?我不知道确切的区别。它是在物理内存空间还是虚拟内存空间中运行?与内核相关的东西通常使用物理内存空间,但如果它是一个进程,事情可能会改变 任何人都可以分享他们在这方面的知识/经验。Init与其他任何进程一样是一个用户进程,因此它使用虚拟内存。init唯一的特殊之处在于它是内核最初启动的两个进程之一。当内核启动init时,它进入用户模式。当init调用system call fork()时,它会进入内核模

我正在努力学习linux内核,在TLDP的linux内核2.0书中。init是进程还是内核线程?我不知道确切的区别。它是在物理内存空间还是虚拟内存空间中运行?与内核相关的东西通常使用物理内存空间,但如果它是一个进程,事情可能会改变


任何人都可以分享他们在这方面的知识/经验。

Init与其他任何进程一样是一个用户进程,因此它使用虚拟内存。init唯一的特殊之处在于它是内核最初启动的两个进程之一。当内核启动init时,它进入用户模式。当init调用system call fork()时,它会进入内核模式,内核会执行一系列操作来创建新进程,新进程将在将来进行调度。当fork()返回时,原始进程将返回到用户模式


顺便说一句,即使内核也使用虚拟内存,内核内存地址的映射也在进程之间共享

问这样的问题不是一个好地方。我认为它是在用户模式下init'是一个进程。stackexchange unix区域已关闭。所以我想问一下也不是不恰当的。苏小歌,但让我困惑的是内核本身的过程。但另一方面,其他进程在开始时从init进程派生。但我不知道在分叉过程中,内核是否可以更改进程的模式或访问进程的属性uid gid。Deamn我很困惑,我是通过同时阅读多本书来学习内核的,是的,我读了很多关于init过程的书,但显然我没有注意到Jim,你不需要太苛刻。在Stackoverflow上,人们总是先问问题再问问题。哇,谢谢!比我要求的更多地启发了我!