MCPLive > 杂志文章 > 跨越BIOS的三重门

跨越BIOS的三重门

2009-12-03Lanwellon《微型计算机》2009年11月上

抽丝剥茧:BIOS的基本功能

很多人都知道BIOS是工作在计算机底层的的基本输入输出系统,它是英文Basic Input/
Output System的首字母缩写。从本质上来讲,狭义的BIOS就是指加载在电脑硬件系统上的基本的软件程式码,如果我们按照功能来划分,BIOS有5大功能:

1 .开机自我测试:检查中央处理器 (CPU) 及各控制器的状态是否正常;
2.初始化动作:针对内存、主板芯片组、显卡及周边装置做初始化动作;
3.记录系统设定值:提供各元件的基本设定,如显示器、键盘、处理器、内存等;
4.提供常驻程式库:提供操作系统或应用程式呼叫的中断常驻程式,如INT 10H等;
5.加载操作系统:从储存装置中加载操作系统到随机存取内存。

通俗来讲,我们可以将BIOS看作是专门与硬件沟通的微型操作系统,通常使用与CPU相容的组合语言来编写(机械语言+高级语言)。但在笔者看来,BIOS既是英文的首字母缩写,同时也具有希腊文字“βιοζ”(生命)的寓意。

追根溯源:BIOS诞生与EFI横空出世

真正的BIOS技术起源于IBM PC/AT机器的流行,以及第一台由康柏公司研制生产的“克隆”
PC。在启动的过程中,BIOS担负著初始化硬件、检测硬件功能以及引导操作系统的责任。在早期,BIOS还需要提供一套运行时的服务程序给操作系统或者应用软件来使用。

可以说,BIOS是整台计算机核心的灵魂,所以必须找到一个合适的容器来妥善保管;否则一旦魂飞魄散,那整台计算机也就失去了工作的能力。由于特殊的工作要求,BIOS中的微代码程序必须存放在一个断电后能够不丢失信息的只读存储器中,当系统加电或者被重置时,处理器的第一条指令会将地址定位到BIOS存储器中,让初始化程序开始执行。


已经上市的EFI主板的开机界面

英特尔公司在2000年的时候开发出可扩展固件接口(Extensible Firmware Interface),这是一种与BIOS功能上类似,但是编程语言更加高级的开发与控制界面,后被称为EFI规范;由于BIOS在计算机用户的印象中根深蒂固,所以很多时候大家又将EFI称为“EFI BIOS”。为了推广EFI,业界很多著名公司走到一起并成立了统一可扩展固件接口论坛(UEFI Forum),之后英特尔将EFI 2.1规范分享给业界,用以制定新的国际标准UEFI规范,其目前新的版本为2.1b。根据英特尔公司的预测,今后几年将有超过半数的计算机主板使用EFI来编写底层的操作语言。EFI不同于传统的使用16位编译的BIOS程序,它是基于32位程序的,因此与我们平常使用的操作系统更为接近,可以提供更友好的操作项目与菜单。

分享到:

用户评论

用户名:

密码: