原创 BIOS及系统开机介绍

2010-10-14 22:09 1604 8 8 分类: MCU/ 嵌入式

        BIOS 全名为基本输入输出系统(Basic Input Output System)。计算机一开机,当电源刚从Power进入到主板时,第一个运行的软件便是主板上的BIOS,BIOS的功能包括初始化计算机的各组件,检测硬件。分配资源,及协助加载操作系统。日常当开机进入了我们所熟悉的Windows,Linux等操作系统后,就看不到BIOS为从操作系统所带来的系统信息及硬件关联性了,实际BIOS算上是一个小型操作系统。

       BIOS的作用主要有:

       自动检测并进行初始化:即先对主板上的相关芯片进行检测并通知其开始运行。

       记录系统设置值:同时用户可以通过设置BIOS选项来改变各种基本设置。

       中断处理:主办上的资源都是由BIOS来分配的,包括IRQ。

       加载操作系统:用户所有的操作系统,都是由BIOS转交给引导扇区,再由引导扇区转到各分区激活相应的操作系统的。

       进入BIOS选项后,常规的选项有快速开机,开机顺序(可选择由HDD,CD/DVD ROM,USB或是网卡开机),BIOS密码,Onboard VGA内存大小等等。

       当设置完成,硬件驱动成功及硬件检测都没问题后,要BIOS退居幕后的办法就是将加载操作系统的主控权转交给硬盘的主引导扇区(Master Boot Record,MBR),也就是硬盘第零轨,让MBR中的开机管理程序可以将指针带到系统核心的地方。

       进入系统初始化的第一步是BIOS将硬盘的第一个扇区加载到内存后执行,再开始运作,这一块空间就叫作MBR,大小为硬盘中每一块扇区的大小,即512Byte。其中MBR又分成Bootloader,Partition table和Magic Number三个主要的区域。

         Bootloader是MBR用来存储开机管理程序的位置,它在开机时的功能主要是加载扇区和指向kernel。MBR将硬盘划分成好几个分区,每个分区的第一个扇区(512Byte字节)称为引导扇区(boot sector)。整体概念即先将硬盘分为MBR和“分区”两大块,分区中再细分为boot sector和实际存取数据的部位。加载kernel,就是直接通过分区及设置文件的资料,找到某一个分区中指定的kernel文件,因为实际中可能一台计算机装有多个操作系统。

        Partition Table就是存储硬盘分区表的地方,总大小为64Bytes,硬盘中分区多上及每一分区的大小都记录在其中。Magic Number处被填入固定之“55AA”,并没有特殊用途,只是让存在于bootloader区的管理程序在辨认扇区时可确认MBR的位置。

        BIOS在操作系统启动后的最后一个操作,就是协助将硬盘的主引导分区的资料载入内存,之后连接到操作系统所产生的开机扇区,如此就开始执行一般用户所看到的多重开机选项画面了。

        进入操作系统后,其实有些操作还是必须有BIOS的运行的,如电源管理接口功能,内存分配等。

摘自《Linux操作系统之奥秘》    


PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /3 下一条