计算机开机过程

一、BIOS(Basic Input/Output System)

BIOS是基本输入输出系统的简称,是连接最底层的硬件系统和软件系统的桥梁。早期BIOS存储在ROM中,后期存储于Flash Memory中,计算机通电之后,首先读取BIOS。

BIOS程序首先检查计算机的硬件是否满足运行的基本条件,称为Power-On Self-Test,简称为POST。

如果硬件出现问题则主板蜂鸣报警,若无问题则把控制权交给下一阶段的启动程序,按照CMOS中设定的启动顺序(Boot Sequence)转交控制权。

二、主引导记录(Master Boot Record,MBR)

接BIOS按照启动顺序将控制权交给排在第一位的存储设备后,计算机读取该设备的第一个扇区(512B),该扇区被称为主引导记录。主引导记录由三部分组成:

  1. 1-446字节 调用操作系统的机器码(Call OS);
  2. 447-510字节 分区表(Partition Table),将硬盘分为若干个区;
    分区表的长度为64字节,分为四项每项16字节,因此一个硬盘只能有四个一级分区(主分区),每项类目如下:
    (1)第1个字节:0x80表示该分区为激活分区,控制权转交给这个分区,只能有一个激活分区;
    (2)第2-4个字节:主分区的第一个扇区物理位置(柱面、磁头、扇区号等);
    (3)第5字节:分区类型;
    (4)第6-8字节:主分区最后一个扇区的物理位置;
    (5)第9-12字节:主分区第一个扇区的逻辑位置;
    (6)第13-16字节:主分区的扇区总数,决定了主分区的长度;
  3. 511-512字节 主引导记录签名(0x55和0xAA,Magic Number),如果不是这两个幻数则认为该硬盘没有被分区;

三、硬盘启动

  1. 卷引导记录(Volume Boot Record,VBR)
    四个分区中唯一被激活分区的第一个扇区;

  2. 扩展分区和逻辑分区

  3. 启动管理器
    在这种情况下,计算机读取"主引导记录"前面446字节的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的"启动管理器"(Boot Loader),由用户选择启动哪一个操作系统。
    Linux环境中,目前最流行的启动管理器是Grub。

四、操作系统

控制权转交给操作系统后,操作系统的内核首先被载入内存。

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

 

 

至此,全部启动过程完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值