操作系统的启动过程

1.BIOS阶段

计算机在按下开机键后,首先运行的是BIOS程序,BIOS首先进行加电自检,完成对系统的全面检查。确保核心组件如CPU、主板、内存、串并口、磁盘等正常运行。这一检测经常被称为post或power on selftest。

完成加电自检后,BIOS所做的第二项工作就是设备初始化

然后,BIOS将根据用户所指定的引导次序,按照顺序选择引导设备。在选择了合适的引导设备后,BIOS会把引导设备第一个数据块载入内存,并把执行权移交给它。

2.引导加载程序阶段

第一个数据块所记载的是主引导记录(MBR),共512个字节。包括:引导加载程序(Boot Loader)(前446个字节,如GRUB等)、磁盘分区表(DPT,Disk Partition Table)、分区有效性标志(55AA)。引导加载程序负责加载启动硬盘分区中的操作系统。

Linux系统中的引导程序有以下3个作用:

1)编写合适的内核命令行;
2)装载合适的初始虚拟磁盘(简称initrd);
3)装载合适的linux内核并移交控制权给它。

引导程序在设计上通常包括两个阶段:

第一阶段,第一阶段的引导程序通常很小,适合存放在MBR中(因为只有446个字节)。第一阶段引导程序的任务是:定位、装载并把控制权传递给第二个阶段的引导程序,这个程序在文件系统中是看不到的;

第二阶段,第二阶段的引导程序通常就是引导程序自身,它在启动时就运行了某种形式的应用程序,能够读取有关默认设置的配置信息。第二阶段引导程序通常是文件系统中可以识别的二进制文件。

3.内核运行阶段

Linux内核文件都是以压缩格式存放的,在上一步骤成功完成后,Linux内核被加载至内存中,内核文件首先完成自解压,并在ramdisk文件的帮助下,内核拥有了访问磁盘及文件系统等基本设备的驱动程序。随后内核在完成探测可识别的硬件设备并加载相应驱动,以只读方式加载根文件系统等操作后,内核就可以启动位于磁盘上的第一个应用程序init,进而完成系统的初始化。

参考文献:

  1. 冯冬艳.Linux操作系统GRUB故障的识别与修复[J].山西电子技术,2018,{4}(06):53-55.
  2. 王士刚.Linux系统的启动过程研究[J].科技传播,2011,{4}(24):184+191.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值