BIOS是Basic Input Output System的缩写,即“基本输入输出系统”。是配置计算机输入输出端口和启动计算机的固件(Firmware)。
计算机开机并完成电压检测后,CPU总是先去读取指定位置的程序代码,也就是BIOS存放的位置。BIOS被加载到内存以后,会对计算机的基本功能进行检测和配置,包括分配中断和IO地址,分配Memory映射地址等等。这个过程被称为“加电自检”,英文为Power On Self Test,简称POST。
“加电自检”结束后,BIOS中的程序会根据启动设置值,跳转到相应的IO地址,将计算机控制权移交给指定的启动盘。
假设是硬盘启动,则首先会加载硬盘中的MBR(Master Boot Record)或GPT(GUID Partition Table)。
如果是多引导系统盘,MBR或GPT中的程序会加载系统启动菜单,再根据用户的选择,来加载指定分区中的系统启动文件,并由系统启动文件中的程序来进一步启动整个操作系统。
进入操作系统之后,计算机的控制权完全由操作系统撑握。BIOS不再参与任何活动。但由于计算机中的许多基本功能和参数是由BIOS配置的,所以,如果BIOS的配置不合理,仍然会影响计算机的某些功能。
我们换一个角度来聊。
BIOS其实就是由程序代码组成的文件。在早期的计算机中,用来储存BIOS文件的是只读ROM芯片。芯片只能写入一次,之后就只能读不能写。后来为了方便更新升级,改用可擦写储存芯片。发展到现在,大多数计算机使用的是SPI Flash芯片。由于BIOS文件和储存芯片总是如影随形,所以经常会有人把储存BIOS的芯片也叫做BIOS。虽然不严谨,但也能让人知道个大概。
BIOS程序代码是固定的,但BIOS程序中的一些参数是允许用户修改的。这些修改的内容不能也不应该覆盖原有的程序代码。为此,计算机中设置了一个存放这些参数的寄存器。寄存器一般位于芯片组(Chipset)内部,寄存器由CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)构成。在英文资料中,清除这些参数的动作被称为Clear CMOS,因此,总有人把CMOS和BIOS相混淆。把进入BIOS设置界面,说成是进入CMOS。
BIOS文件的大小,一般用Byte作为最小计数单元。储存芯片的容量,一般用bit做最小计数单元。因此,1MB的BIOS文件,需要8Mbit的储存芯片才能装下。8MB的BIOS文件,需要64Mbit的储存芯片才能装下。许多人不仔细看后面的单位,所以总是不能理解为什么BIOS文件和储存芯片“大小不一样”。更多技术细节可参阅《工业计算机硬件技术支持手册》
推荐文章:
《工业计算机硬件技术支持手册》简介
利用BIOS状态码(Checkpoint)及Beep声来诊断计算机启动过程中的问题
AMI aptio 5.x BIOS状态码(POST CODE)及开机Beep声含义表
AMI BIOS刷新工具FPT.exe的用法
如何制作DOS启动盘