linux 系统启动过程

时间:2021-07-23 16:12:43

学习自《鸟哥的linux私房菜》

       对于计算机系统启动,计算机是由硬件和软件(包括操作系统软件)组成的,对于运行与同一台计算机硬件上的操作系统而言,系统所配备的硬件是公共的,而不同的系统则

需要运行不同的操作系统软件。因此,在用户按下开机键时,计算机硬件会主动的读取BIOS来加载硬件信息,之后系统就会按照在BIOS中设置的开启启动项去读取第一个可以支

持开机的装置,就是我们经常设置的硬盘,软盘,U盘等,这样计算机就进入了开机管理程序了,就是传说中的bootloader,此时计算机便开始由bootloader来接管了。

bootloader接受用户给出的系统选项,引导相应的操作系统软件进行启动,其具体工作由分为:bootloader在选定操作系统后,将相应的系统加载到内存中解压缩与执行,这时候

计算机实际上便由系统核心程序(系统内核程序)来接管了。

系统内核程序接管阶段:内核侦测所有硬件信息并加载适当的驱动程序,之后核心程序才会准备其他系统运行所需的软件所运行的环境,其主要步骤是:内核调用执行init程序(程

序之祖宗),init会取得run-level信息。

init执行/etc/rc.d/rc.sysinit档案来准备软件执行的作业环境(如网络,时区)

init执行run-level的各个服务之启动(运行相应的脚本文件)

init执行/etc/rc.d/rc.local

init 执行终端机仿真程序 mingetty 来启动login程序,最后进去用户登陆等待,系统启动也宣告结束啦!