
本文共 1320 字,大约阅读时间需要 4 分钟。
启动第一步--加载BIOS
当计算机开机启动电源时,首先需要加载BIOS信息。这是计算机启动的最基础环节,BIOS包含了关于CPU、设备启动顺序、硬盘信息、内存信息、时钟设置以及PnP特性的关键配置信息。
启动第二步--读取MBR
接下来的步骤是读取硬盘的第一个扇区——MBR(Master Boot Record)。MBR大小为512字节,存放了启动相关的信息和分区表。在此阶段,系统会将BIOS指定的硬盘的MBR复制到物理内存中的0x7c00位置,这样就能启动次级启动加载器(如GRUB或LILO)进行后续操作。
启动第三步--Boot Loader
次级启动加载器(Boot Loader)是小型程序,用以初始化硬件环境和准备内存映射,使得操作系统内核能够顺利启动。常见的Boot Loader有GRUB、大约和SPFDisk。GRUB作为例子,读取配置文件(如menu.lst或grub.lst),并根据配置选择启动目标操作系统。
启动第四步--加载内核
在确定了目标内核映像路径后,系统会读取该映像并进行解压缩。解压缩过程中会显示“Uncompressing Linux”提示,随后完成后会显示“OK, booting the kernel”。此时,内核被加载至内存中,并调用start_kernel函数启动一系列初始化过程,完成操作系统核心的建立。
启动第五步--用户层初始化
内核加载完成后,第一个用户层程序 会是/bin/init。该程序读取/etc/inittab文件来设定系统运行等级。配置示例为“id:5:initdefault:”,表示系统将运行在等级5状态。这五个等级分别对应不同的运行模式,包括单用户模式、多用户模式等。
启动第六步--执行rc.sysinit脚本
设定了运行等级后,系统会执行/etc/rc.d/rc.sysinit脚本。这一脚本负责进行初始设置工作,包括定义PATH环境变量、配置网络参数、启用交换分区以及初始化/proc虚拟文件系统等。在完成这些基础配置后,系统会进入下一步。
启动第七步--加载内核模块
内核模块的加载依据是/etc/modules.conf文件或位于/etc/modules.d目录下的各个配置文件。这些模块负责扩展内核功能,添加额外的硬件支持或功能模块。
启动第八步--执行不同运行级别脚本
在确定了运行等级后,系统会依次执行rc0.d到rc6.d目录下的各个脚本程序。这些脚本负责启动级别对应的设备和服务。这一过程确保了系统在各个运行级别下都能正常运行所需服务。
启动第九步--执行rc.local脚本
在所有设备和服务初始化完成后,系统会执行最后一步——用户自定义脚本rc.local。该脚本留给用户进行个性化配置,可以添加自己想要启动的服务或设置。
启动第十步--启动登录状态
最后,系统会执行/bin/login程序,用户进入登录状态。负责统筹协调整个启动过程的内核和用户空间程序共同努力,使得整个操作系统能够顺利启动起来。
发表评论
最新留言
关于作者
