计算机启动过程

计算机的启动过程
boot的由来:早期,计算机启动是一个很矛盾的过程:必须先运行程序,然后计算机才能启动,但是计算机不启动就无法运行程序!所以必须想办法把一小段程序装进内存,然后计算机才能正常运行。简称为boot了。

①硬件自检(POST):
BIOS中的程序首先检查,计算机硬件系统能否满足运行的基本条件;若是硬件出现问题,启动终止;如果没有问题,BIOS把控制权交给下一阶段的启动程序,(启动程序存放在启动顺序中的第一项存储设备中。)

②主引导记录(MBR):
从硬盘或可移动设备中读取MBR,并放入指定内存中,从该设备读取第一个扇区(靠前的512字节),此时,两种可能,是否后两个字节为0x55或0xAA 若是:表明这个设备可以启动;否则转交给第二项存储设备

③硬盘启动:
将控制权转交给硬盘的某个分区,分为三种情况:
1)卷引导记录
硬盘四个主分区中,有且只有一个是激活的,也就是我们口中的“C”盘;计算机会读取该分区的第一个扇区
2)扩展引导记录
分区表中有一个是扩展分区,并且计算机先读取扩展分区的第一个扇区;但是很少通过这种方式启动操作系统。如果操作系统确实安装在扩展分区,一般采用下一种方式启动。
3)启动管理器
在上面2)情况下,计算机读取”主引导记录”前面446字节的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的”启动管理器”(boot loader),由用户选择启动哪一个操作系统。

④操作系统:
控制权转交给操作系统后,操作系统的内核首先被载入内存。然后,init(RHEL6为init,RHEL7为systemd)线程加载系统的各个模块,比如窗口程序和网络程序,直至执行/bin/login程序,跳出登录界面,等待用户输入用户名和密码。完!
注解:以Linux系统为例,先载入/boot目录下面的kernel。内核加载成功后,第一个运行的程序是/sbin/init。它根据配置文件(Debian系统是/etc/initab)产生init进程。这是Linux启动后的第一个进程,pid进程编号为1,其他进程都是它的后代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值