本页使用了标题或全文手工转换

BIOS

维基百科,自由的百科全书
跳转至: 导航搜索
BIOS
Phoenix bios.jpg
Phoenix BIOS
儲存位置
主要生產商
  • American Megatrends
  • Insyde Software
  • Phoenix Technologies
  • Byosoft

BIOSBasic Input/Output System的縮寫、中文:基本輸入輸出系統),在IBM PC兼容机上,是一种业界标准的固件介面[1]。BIOS这个字眼是在1975第一次由CP/M操作系统中出现。BIOS是个人电脑启动时加载的第一个软件。

BIOS用于计算机开机时执行系统各部分的的自检,并启动引导程序或装载在内存的操作系统。此外,BIOS还向操作系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS服务而不是直接访问硬件。现代操作系统会忽略BIOS提供的抽象层并直接访问硬件组件。

歷史[编辑]

BIOS技術源於IBM PC/AT機器的流行以及第一台由康柏公司研製生產的“克隆”PC。在PC啟動的過程中,BIOS擔負着初始化硬體,檢測硬體功能,以及引導作業系統的責任。在早期,BIOS還提供一套運行時的服務程式給作業系統及應用程式使用。BIOS程式存放於一個斷電後內容不會丟失的唯讀記憶體中;系統過電或被重置(reset)時,處理器第一條指令的位址會被定位到BIOS的記憶體中,讓初始化程式開始執行。英特尔公司从2000年开始,发明了可扩展固件接口(Extensible Firmware Interface),用以规范BIOS的开发。而支持EFI规范的BIOS也被称为EFI BIOS。之后为了推广EFI,业界多家著名公司共同成立了统一可扩展固件接口论坛(UEFI Forum),英特尔公司将EFI 1.1规范贡献给业界,用以制订新的国际标准UEFI规范。目前UEFI规范的最新版本是2.1b,而根据来自英特尔公司的预测,到2010年,全世界将有60%以上的个人电脑使用支持UEFI规范的BIOS产品。

啟動電腦原理[编辑]

當電腦的電源開啟,BIOS就會由主機板上的快閃記憶體(flash memory)執行,並將晶片組和記憶體子系統初始化。BIOS會把自己從快閃記憶體中,解壓縮到系統的主記憶體;並且從那邊開始執行。PC的BIOS程式碼也包含診斷功能,以保證某些重要硬體元件,像是鍵盤磁碟裝置、輸出輸入埠等等,可以正常運作且正確地初始化。幾乎所有的BIOS都可以選擇性地執行CMOS記憶體的設定程式;也就是保存BIOS會存取的使用者自訂設定資料(時間、日期、硬碟細節,等等)。IBM技術參考手冊中曾經包含早期PC和AT BIOS的80x86原始碼。

現代的BIOS可以讓使用者選擇由哪個裝置啟動電腦,如光碟機硬碟軟碟、USB 隨身碟等等。這項功能對於安裝作業系統、以LiveCD啟動電腦、以及改變電腦找尋開機媒體的順序特別有用。

有些BIOS系統允許使用者可以選擇要載入哪個作業系統(例如從第二顆硬碟載入其他作業系統),雖然這項功能通常是由第二階段的開機管理程式(boot loader)來處理。

BIOS韌體[编辑]

由於BIOS與硬體系統整合在一起(將BIOS程式指令燒錄在IC中),所以有時候也被稱為韌體。在大約1990年BIOS是保存在ROM唯讀記憶體)中而無法被修改。因為BIOS的大小和複雜程度隨時間不斷增加,而且硬體的更新速度加快,令BIOS也必須不斷更新以支援新硬體,於是BIOS就改為儲存在EEPROM或者快閃記憶體中,讓使用者可以輕易更新BIOS。然而,不適當的執行或是終止BIOS更新可能導致電腦或是裝置無法使用。為了避免BIOS損壞,有些新的主機板有備份的BIOS(「雙BIOS」主機板)。有些BIOS有「啟動區塊」,屬於唯讀記憶體的一部份,一開始就會被執行且無法被更新。這個程式會在執行BIOS前,驗證BIOS其他部分是否正確無誤(經由檢查碼,湊雜碼等等)。如果啟動區塊偵測到主要的BIOS已損壞,通常會自動由軟碟機啟動電腦,讓使用者可以修復或更新BIOS。一部份主機板會在確定BIOS已損壞後自動搜尋軟碟機看看有沒有完整的BIOS檔案。此時使用者可以放入儲存BIOS檔案的軟碟(例如由網上下載的更新版BIOS檔案,或是自行備份的BIOS檔案)。啟動區塊會在找到軟碟中儲存的BIOS檔案後自動嘗試更新BIOS,希望以此修復已損壞的部份。硬體製造廠商經常發出BIOS升級來更新他們的產品和修正已知的問題。

CMOS的联系和区别[编辑]

BIOS与CMOS的关系[编辑]

CMOS是计算机上另一个重要的存储器。之所以提到它,是因为BIOS程序的设置结果就保存在CMOS中。而且,在BIOS程序引导计算机启动后,计算机需要载入CMOS中的用户信息和常规设置后才能正常使用。

BIOS与CMOS的区别[编辑]

二者的区别是,BIOS是儲存在唯讀記憶體(EEPROM),而CMOS为随机存储器(RAM);BIOS中存储的是程序,而CMOS中存储的是普通信息。

EEPROM即是我們常用的隨身碟和各類記憶卡,因此我們可以更新BIOS,其內容亦能在斷電後保存。

CMOS RAM的內容在斷電會消失。所以,把主機板的電池拆出,便可重置其內容。另外,拆出電池也會重設時間

介面卡上的BIOS晶片[编辑]

一台電腦系統可以包含多個BIOS韌體晶片。開機BIOS主要是包含存取基本硬體元件(例如鍵盤軟碟機)的程式碼。額外的介面卡,例如SCSISATA硬碟介面卡、網路介面卡顯示卡等,也會包含他們自己的BIOS,補充或取代系統BIOS程式碼中有關這些硬件的部份。 為了在開機時找到這些記憶體映射的擴充唯讀記憶體,PC BIOS會掃描實體記憶體,從0xC0000到0xF0000的2KB邊界中尋找0x55 0xaa記號,接在其後的是一個位元,表示有多少個擴充唯讀記憶體的512位元區塊佔據真實記憶體空間。接著BIOS馬上跳躍到指向由擴充唯讀記憶體所接管的位址,以及利用BIOS服務來提供使用者設定介面,註冊中斷向量服務供開機後的應用程式使用,或者顯示診斷的資訊。

确切地说扩展卡上的ROM不能称之为BIOS。它只是一个程序片段,用来初始化自身所在的扩展卡。

BIOS開機規格[编辑]

如果擴充的唯讀記憶體想要更改系統開機啟動的方式(像是從網路或是SCSI界面卡這些BIOS沒有驅動的程式的裝置)他可以使用BIOS開機規格(BBS)程式設計界面註冊他的能力來達到這點。如果一旦這些擴充的唯讀記憶體使用了BBS APIs註冊了之後,使用者可以從BIOS的使用者界面選擇這些可用的開機選項。這就是為什麼大部分的BBS相容之PC BIOS皆不會允許使用者進入BIOS使用者界面,直到這些擴充的唯讀記憶體已經完成執行且已經使用BBS API將他們自己註冊之後才行。

供應商[编辑]

目前全球只有四家獨立BIOS供應商,曾經的Award SoftwareGeneral Software均被Phoenix Technologies收購,Microid ResearchUnicore Software收購,SystemSoftInsyde Software收購。

取代[编辑]

2006年,微软曾在WinHEC會議上表示UEFI將會取代已经使用了20多年的BIOS。這兩個技術都在電腦啟動的時候發出第一個命令指示,並使得操作系統能夠被順利加載。[2]

相關鏈接[编辑]

外部連結[编辑]

  1. ^ The PC Guide - System BIOS
  2. ^ 微软承诺明年年底前UEFI取代BIOS2006年