Unix 系统启动与关机全解析
一、多用户模式启动
在准备活动完成后,内核会创建一个新进程来运行 init 程序,该进程的 PID 为 1。init 是所有后续 Unix 进程的祖先,也是用户登录 shell 的直接父进程。在启动过程的剩余阶段,init 会完成一系列工作,为用户使用系统做好准备。
-
文件系统完整性验证
init 首先会验证本地文件系统的完整性,从根文件系统和其他重要文件系统(如 /usr)开始。由于内核和 init 程序本身都位于根文件系统(有时 init 位于 /usr 文件系统),在对应文件系统检查之前它们如何运行是个问题。解决方法有多种:- 根磁盘的引导分区和根文件系统中都可能有内核的副本。
- 如果根文件系统中的可执行文件能成功开始执行,那么可以认为该文件没问题。
- 对于 init,在 System V 中,根文件系统在检查前以只读方式挂载,检查后 init 会将其重新挂载为读写模式;在传统 BSD 方法中,内核会自行处理根文件系统的检查和挂载;还有一种方法是在从磁带或 CD - ROM 启动(如操作系统安装或升级时),以及某些系统的正常启动中,使用内存(RAM)文件系统,其中只包含访问系统及其磁盘所需的有限命令,包括 init 的一个版本,控制从 RAM 文件系统转移到基于磁盘的文件系统后,init 进程会退出并重新启动,这次从磁盘上的“真实”可执行文件启动。
-
init 的其他活动
超级会员免费看
订阅专栏 解锁全文
5477

被折叠的 条评论
为什么被折叠?



