操作系统 
首页 > 操作系统 > 浏览文章

Linux系统开机启动过程分解

(编辑:jimmy 日期: 2024/5/9 浏览:3 次 )

按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。

1、  BIOS加电自检:

加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引导的设备。可以是光驱、软盘、USB等。

2、  加载主引导加载程序(MBR):

主引导程序是一个512字节的映像。包含一点机器码还有一个小的分区。

主引导程序的任务就是查找并且加载处在硬盘分区上的次引导程序。通过分区表查找活动分区,并将处在活动分区的次引导加载程序读取到内存里面运行。

3、  加载次引导记载程序(GRUB)

次引导加载程序只要就是加载linux内核。

上一阶段结束之后次引导加载程序就会在内存里面跑起来。就会出现GRUB图形界面,让用户选择加载什么样的内核。

4、  linux内核映像:

用户选择要加载的内核之后,次引导加载程序(GRUB)就会根据/boot/grub.conf配置文件中所设置的信息,从/boot/所在的分区上读取Linux内核映像,然后把内核映像加载到内存中并把控制权交给Linux内核。

linux内核获得控制权之后开始干自己的事

1)、  检测硬件

2)、  解压缩自己并安装必要驱动

3)、  初始化与文件系统相关的虚拟设备,LVM或RAID

4)、  装载根文件系统,挂在根目录下面

5)、  完成之后,linux在进程空间里面加载init程序,下面轮到init干活

5、  init进程

init是所有进程的发起者和控制者,所有的进程都由此衍生。

init进程获得控制权之后,它会执行/etc/rc.d/rc.sysinit脚本,根据里面的代码设置环境变量、网络、启动swap、检查并挂载文件系统、执行其他初始化工作。

至此,linux启动完成。

我们稍微总结一下:

首先是BIOS加电自检,之后加载主引导加载程序、次引导加载程序,最后就是linux内核映像,完了把控制权交给init进程,完成初始化工作。

swap分区是什么?

类似windows系统中的虚拟内存,当物理内存不够用的时候,使用swap中的内存。

上一篇:Linux内核的ioctl函数学习
下一篇:Linux系统下使用ctags查找源码的方法
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网