基本輸入輸出系統(tǒng)
基本輸入輸出系統(tǒng)(BIOS)是一種位于計算機只讀存儲器(ROM)中的固件,負責(zé)計算機啟動時的硬件初始化,并在操作系統(tǒng)運行過程中提供運行時服務(wù)。因為BIOS存儲在ROM中,所以有時也叫“ROM BIOS”。
BIOS的出現(xiàn)可以追溯到1975年。Gary Kldal在Intel 8008的基礎(chǔ)上開發(fā)的一個管理程序和數(shù)據(jù)控制程序,就是現(xiàn)代BIOS的雛形。1981年,IBM開發(fā)了第一個PROM(可編程只讀存儲器),稱為程序代碼的集合BIOS。由于BIOS本身的缺陷,2003年,英特爾推出了EFI(可擴展固件接口)。為了制定統(tǒng)一的標(biāo)準(zhǔn),2005年,英特爾聯(lián)合微軟、AMD等11家公司制定了統(tǒng)一的EFI標(biāo)準(zhǔn),即UEFI標(biāo)準(zhǔn)。
BIOS的工作原理包括上電自檢、硬件設(shè)備初始化和啟動boot loader,其核心功能包括硬件檢測、系統(tǒng)配置、啟動順序設(shè)置和電源管理。隨著技術(shù)的發(fā)展,BIOS的安全性也因固件攻擊和兼容性問題受到挑戰(zhàn),逐漸被UEFI取代。
發(fā)展歷史 編輯本段
背景起源
基本輸入輸出系統(tǒng)的出現(xiàn)可以追溯到1975年Gary Kldal開發(fā)的PL/M操作系統(tǒng)。根據(jù)馮·諾依曼原理,計算機可分為五部分,即控制器、運算器、存儲器、輸入設(shè)備和輸出設(shè)備。如果想讓這些部分協(xié)調(diào)工作,就需要一個操作系統(tǒng),負責(zé)計算機中各種硬件資源的分配和調(diào)度。起初,為了操作計算機,通常只有手工操作。程序員首先要把程序和數(shù)據(jù)對應(yīng)的穿孔紙帶裝入輸入機;然后啟動輸入機將程序和數(shù)據(jù)輸入電腦內(nèi)存,再通過控制臺開關(guān)啟動程序?qū)?shù)據(jù)運行;計算結(jié)束后,打印機輸出計算結(jié)果。這種循環(huán)效率相當(dāng)?shù)汀?/p>
1971年,英特爾開發(fā)了第一款微處理器——4004。加里·基爾達爾(Gary kildall)想用這種芯片為他的父親制作一個導(dǎo)航計算器。但由于Intel4004的指令集不足,1973年,英特爾交出了自己的新產(chǎn)品Intel 8008。kildare花了幾個月的時間開發(fā)了一種微處理器編程語言——PL/m,通過這種語言,在DEC公司的TOP-10大型機上成功開發(fā)出了管理程序和數(shù)據(jù)的控制程序,并于1974年發(fā)布了其第一個版本CP/M1.3(控制程序/微處理器微機)。此后,它也出現(xiàn)在基于英特爾芯片的微型計算機上。直到1975年,他才完成了CP/M的完整應(yīng)用系統(tǒng),包括用于復(fù)制文件的PIP(外圍交換程序)。CP/M的底層是基本輸入輸出系統(tǒng)——BIOS,由I/O驅(qū)動組成,是與硬件的接口。
傳統(tǒng)BIOS
在計算機發(fā)展的早期,主板BIOS程序是固化在ROM芯片中的,這些BIOS程序是在ROM芯片開發(fā)過程中通過廠商特有的方法燒錄的,燒錄在主板ROM芯片中的BIOS程序不能升級或修改,只能讀取。也就是說,如果在燒錄到ROM芯片中的BIOS程序中發(fā)現(xiàn)了BUG,就只能丟棄。
1981年,IBM在開發(fā)第一代個人電腦IBM PC時,工程師們把硬件檢測代碼,最基本的外圍I/O處理程序(如屏幕顯示、鍵盤控制、磁盤控制等)擠到了一起。)和操作系統(tǒng)的主要程序代碼存儲到32KB PROM(可編程ROM)中。這些程序代碼的集合稱為BIOS。之后IBM還公開了包括BIOS在內(nèi)的接口規(guī)范,進一步推動了其他廠商對BIOS的開發(fā)。
大約在20世紀(jì)90年代,Intel與Compaq和Phoenix Technology一起制定了BIOS引導(dǎo)規(guī)范和即插即用BIOS規(guī)范,這成為業(yè)界事實上的標(biāo)準(zhǔn)。
EFI和UEFI
1998年,英特爾推出了專為IA-64處理器設(shè)計的英特爾啟動計劃(Intel Boot Initiative project),后來更名為EFI(可擴展固件接口)。
1999年4月26日,CIH病毒大規(guī)模爆發(fā),全球6000多萬臺電腦癱瘓。當(dāng)時,中國只有146萬臺聯(lián)網(wǎng)計算機。當(dāng)這種病毒爆發(fā)時,它會調(diào)用CPU的最高權(quán)限,試圖將垃圾信息寫入硬盤和BIOS。一旦成功,BIOS將完全不起作用,只能更換BIOS芯片或主板。這也促進了BIOS的升級。
2003年,電噴正式登上舞臺。同年,為了競爭,鳳凰科技和微軟在10月宣布推出新一代BIOS,并將其命名為核心系統(tǒng)軟件(CSS)。2005年,英特爾聯(lián)合微軟、AMD等11家公司成立了統(tǒng)一EFI論壇,負責(zé)制定統(tǒng)一的EFI標(biāo)準(zhǔn),即UEFI標(biāo)準(zhǔn)。UEFI標(biāo)準(zhǔn)逐漸成為整個行業(yè)事實上的BIOS標(biāo)準(zhǔn)。AMI、Insvde、百教等BIOS廠商都基于UEFI打造了自己的產(chǎn)品。
2006年,Byosoft成立,2008年從Intel獲得中國BIOS獨家技術(shù)授權(quán),從而可以獲得除開源內(nèi)核以外的其他閉源芯片的初始化代碼。從而成為全球第四,中國第一家也是唯一一家獨立的BIOS供應(yīng)商。
2007年左右,PC操作系統(tǒng)逐漸支持UEFI。微軟推出了64位X86版本的Windows Vista Service Pack 1系統(tǒng),支持UEFI啟動。2011年,英特爾推出Sandy Bridge處理器,PC硬件開始向UEFI轉(zhuǎn)移。2020年5月,由中國電子技術(shù)標(biāo)準(zhǔn)化研究院和華為技術(shù)有限公司牽頭的《服務(wù)器BIOS通用技術(shù)規(guī)范》(CESA-2020-2-012)獲批立項。2022年5月,微星發(fā)布了新的BIOS 300系列主板,支持Zen3處理器,改善了啟用fTPM的間歇性性能卡頓問題。
工作原理 編輯本段
通電自檢:開機自檢(POST)是BIOS開機后啟動的第一個程序。電腦開機時,BIOS會先進行自檢,檢查硬件設(shè)備是否正常。
崗位自檢分為兩部分:POST首先檢查計算機系統(tǒng)的關(guān)鍵部件(CPU、顯卡、BIOS可以訪問的初始64KB內(nèi)存區(qū)域)是否存在,能否正常工作。因為這個過程是在系統(tǒng)BIOS初始化顯卡之前,所以如果在檢測中發(fā)現(xiàn)故障和錯誤(都被認(rèn)為是致命錯誤)并且無法通過顯示設(shè)備顯示出來,系統(tǒng)BIOS就要通過聲音報警來表示。經(jīng)過檢查,如果CPU、顯卡、第一個64KB內(nèi)存塊都正常,系統(tǒng)可以正常啟動。
執(zhí)行啟動自檢。首先初始化顯卡,屏幕上顯示自檢畫面。
初始化硬件設(shè)備:自檢完成后,BIOS會根據(jù)預(yù)設(shè)的配置信息初始化硬件設(shè)備。它會初始化動態(tài)內(nèi)存(DRAM)、主板芯片組、顯卡以及相關(guān)外設(shè)寄存器,檢查是否能正常工作。所謂初始化設(shè)置,就是根據(jù)芯片組的技術(shù)文檔做一些寄存器填充和復(fù)位,使主板/芯片組的內(nèi)存和I/O功能能夠正常工作。
引導(dǎo)加載程序啟動:完成以上操作后,它會為操作系統(tǒng)創(chuàng)建一些參數(shù),比如ACPI表,選擇引導(dǎo)設(shè)備,從設(shè)備加載bootlloader,然后啟動操作系統(tǒng)。當(dāng)設(shè)備通過測試后,搜索引導(dǎo)驅(qū)動程序(如硬盤、光驅(qū)、網(wǎng)絡(luò)服務(wù)器等。)根據(jù)BIOS中設(shè)置的引導(dǎo)順序,獲取第一個引導(dǎo)設(shè)備的代碼,讀取第一個引導(dǎo)設(shè)備的主引導(dǎo)記錄(MBR)中引導(dǎo)加載程序的引導(dǎo)信息,從MBR加載引導(dǎo)管理器(GRUB)并運行引導(dǎo)管理。
BIOS功能 編輯本段
硬件檢測:BIOS的硬件檢測包括自檢、硬件識別和硬件監(jiān)控。
自檢:內(nèi)存測試通過后,BIOS會開始檢測系統(tǒng)中安裝的一些標(biāo)準(zhǔn)硬件設(shè)備,如硬盤、CDROM、通訊口等設(shè)備。在此過程中,大多數(shù)較新的BIOS版本還會主動檢測和設(shè)置定時參數(shù)、硬盤參數(shù)和內(nèi)存訪問模式。
硬件識別:檢測到標(biāo)準(zhǔn)設(shè)備后,BIOS開始檢測并配置系統(tǒng)中安裝的即插即用設(shè)備。每個設(shè)備找到后,BIOS會在屏幕上顯示設(shè)備的名稱和型號,并為設(shè)備分配中斷、DMA通道、IO口等資源。
硬件監(jiān)控:通過BIOS可以監(jiān)控主板、CPU和電源的溫度,還可以設(shè)置穩(wěn)壓器的電壓輸出電平和每個風(fēng)扇的轉(zhuǎn)速。當(dāng)啟動過程中發(fā)現(xiàn)上述監(jiān)控功能異常時,系統(tǒng)會提示并暫停運行。
系統(tǒng)配置:通過BIOS,可以設(shè)置參數(shù),優(yōu)化系統(tǒng)。
參數(shù)設(shè)置:新電腦必須設(shè)置BIOS參數(shù),提高整個電腦系統(tǒng)的配置。即使是具有PnP(即插即用設(shè)備)功能的系統(tǒng),也只能識別部分電腦外設(shè),當(dāng)前日期、時鐘等基本信息必須由用戶自己設(shè)置。
系統(tǒng)優(yōu)化:系統(tǒng)本身的BIOS設(shè)置參數(shù)對系統(tǒng)來說并不是最優(yōu)的,比如內(nèi)存讀寫的等待時間,硬盤的數(shù)據(jù)傳輸方式。需要多次實驗才能達到最佳的性能組合。另外,內(nèi)部/外部緩存的使用、節(jié)能保護、電源管理甚至啟動順序都對電腦的性能有一定的影響,這些也必須通過BIOS來設(shè)置。
開始管理:在啟動時,BIOS可以提示啟動順序和啟動過程中出現(xiàn)的錯誤。
引導(dǎo)順序:BIOS系統(tǒng)根據(jù)系統(tǒng)CMOS設(shè)置中的引導(dǎo)順序,搜索硬盤、光驅(qū)、網(wǎng)絡(luò)服務(wù)器等有效的引導(dǎo)驅(qū)動程序,讀入操作系統(tǒng)引導(dǎo)程序,然后將系統(tǒng)控制權(quán)交給引導(dǎo)程序。操作系統(tǒng)從引導(dǎo)程序的執(zhí)行開始逐步完成操作系統(tǒng)內(nèi)核的加載和初始化,完成系統(tǒng)的啟動。
錯誤提示:啟動失敗時,BIOS會發(fā)出提示音,根據(jù)提示音的不同可以判斷故障。之后,當(dāng)啟動時的語音提示信息完成后,屏幕上會出現(xiàn)文字提示信息。文本中顯示的錯誤信息屬于非關(guān)鍵性錯誤,暫時不會對硬件系統(tǒng)造成損害,但如果不排除,系統(tǒng)將無法正常啟動。
電源管理:APM(Advanced Configuration and Power Interface)是一種基于BIOS的系統(tǒng)電源管理方案,可以通過BIOS序列碼為CPU和設(shè)備提供電源管理,通過設(shè)備的超時設(shè)置決定何時將設(shè)備切換到低能耗狀態(tài)。大多數(shù)操作系統(tǒng)都提供了支持APM的節(jié)能模式。
在電源管理中,一般有四種模式:全開模式、待機模式、掛起模式和打盹模式。
設(shè)置擴展 編輯本段
BIOS擴展和更新:BIOS的擴展和更新包括BIOS中的新設(shè)備、網(wǎng)絡(luò)啟動(PXE)、RAID功能和自更新。BIOS擴展:許多新添加或更新的設(shè)備可能無法被計算機識別,因此必須通過BIOS設(shè)置通知它。此外,新設(shè)備和原設(shè)備之間的IRQ和DMA沖突通常通過BIOS設(shè)置來消除。
網(wǎng)絡(luò)引導(dǎo)(PXE): PXE是一種廣泛應(yīng)用于遠程喚醒領(lǐng)域的技術(shù)。PXE(pre boot execution environment)是Intel公司推出的網(wǎng)絡(luò)協(xié)議,可用于無盤和無盤聯(lián)網(wǎng)。它可以使計算機通過網(wǎng)絡(luò)啟動,協(xié)議分為客戶端和服務(wù)器端。PXE客戶端在網(wǎng)卡的ROM中。當(dāng)計算機啟動時,BIOS將PXE客戶端調(diào)入內(nèi)存執(zhí)行,并顯示命令菜單。用戶選擇后,PXE客戶端通過網(wǎng)絡(luò)將放置在遠端的操作系統(tǒng)下載到本地操作。使用PXE功能首先需要客戶端網(wǎng)卡的支持,其次服務(wù)器端必須有支持該協(xié)議的網(wǎng)管軟件。
RAID功能:硬件RAID是RAID(獨立磁盤冗余陣列)的一種形式,在主板或獨立的RAID卡上完成處理。獨立的RAID控制器配備了自己的CPU和高速緩存。因此,硬件RAID設(shè)備充當(dāng)微型獨立計算機,有助于保持性能,但與僅基于軟件設(shè)置RAID陣列相比,它們是更昂貴的選擇。這些控制器安裝在服務(wù)器中,并在操作系統(tǒng)啟動前通過BIOS或可選ROM(識別卡并對其進行初始化的固件)進行配置。
升級BIOS:升級BIOS的作用是增加主板對新硬件的支持和識別能力,更好的解決硬件之間的兼容性,提高BIOS的調(diào)整功能。然而,升級BIOS是危險的。如果沒有必要,盡量不要升級BIOS。首先要確認(rèn)主板的BIOS是否可以升級,然后根據(jù)不同BIOS廠商確定的BIOS類型,獲取相應(yīng)的BIOS升級程序。
操作系統(tǒng)支持:BIOS可以調(diào)節(jié)操作系統(tǒng)的啟動和加載過程。引導(dǎo)過程和操作系統(tǒng)加載:完成開機自檢和設(shè)備配置后,BIOS開始引導(dǎo)過程。BIOS嘗試按照配置的優(yōu)先級順序從第一個設(shè)備啟動。如果有一個有效的設(shè)備,固件將從MBR引導(dǎo)扇區(qū)讀取一個名為boot loader的簡短可執(zhí)行代碼,并給予它控制權(quán)。此時,BIOS固件已經(jīng)被執(zhí)行,并且在系統(tǒng)操作期間不再是活動的。引導(dǎo)加載程序初始化加載并啟動操作系統(tǒng)。
高級配置選項:BIOS的高級配置包括CPU超頻設(shè)置、內(nèi)存時序配置、軟件抽象和兼容性。CPU超頻設(shè)置:一般主板都會讓用戶設(shè)置CPU的外接頻率。當(dāng)設(shè)置超過標(biāo)準(zhǔn)外部頻率時,就是超頻。在BIOS中,您可以通過更改電壓和頻率等設(shè)置來手動超頻CPU。主要步驟是通過BIOS界面進入CPU時鐘選項,選擇更高的外部頻率。
內(nèi)存時序配置:在計算機中,內(nèi)存等重要設(shè)備的參數(shù)對系統(tǒng)的運行效率和穩(wěn)定性影響很大。為了達到最佳的工作狀態(tài),BIOS可以反復(fù)調(diào)整內(nèi)存時序等選項,在保證穩(wěn)定性的前提下盡可能提高效率。
硬件抽象和兼容性:硬件抽象接口位于設(shè)備驅(qū)動程序和計算機硬件之間。BIOS隱藏了計算機最低總線接口、內(nèi)存空間等硬件細節(jié)。BIOS為操作系統(tǒng)內(nèi)核提供了硬件抽象接口,便于操作系統(tǒng)移植到不同的計算機上。
硬件組成 編輯本段
非易失性存儲器:非易失性存儲器是一種斷電后仍能長時間保存數(shù)據(jù)的電子設(shè)備。與易失性存儲器相比,非易失性存儲器具有成本相對較低、存儲容量大的特點,但其寫入速度普遍較慢,在寫入時也有先天的局限性。經(jīng)過一定次數(shù)的寫操作后,存儲器會達到自己的容忍極限而失效。
互補型金屬氧化物半導(dǎo)體:互補金屬氧化物半導(dǎo)體(CMOS)是指主板上的一個讀寫RAM芯片,用來保存當(dāng)前系統(tǒng)的硬件配置和用戶對一些參數(shù)的設(shè)置。當(dāng)系統(tǒng)通電并啟動時,應(yīng)讀取CMOS信息以初始化機器各部分的狀態(tài)。它由系統(tǒng)電源或備用電池供電,斷電信息不會丟失。CMOS RAM是存儲系統(tǒng)參數(shù)的地方,BIOS中的系統(tǒng)設(shè)置程序是完成參數(shù)設(shè)置的手段。所以準(zhǔn)確的說法應(yīng)該是通過BIOS設(shè)置程序來設(shè)置CMOS參數(shù)。
跳線和DIP開關(guān):跳線和DIP開關(guān)是用于連接或斷開網(wǎng)絡(luò)適配器卡或其它設(shè)備上的電路的兩種物理方法。跳線主要用于設(shè)置硬件的工作狀態(tài),如CPU的核心(內(nèi)核)電壓、外部頻率和倍頻、主板的資源分配、啟用或禁用部分主板功能等。跳線給了主板更加靈活的設(shè)置方式,讓用戶可以輕松設(shè)置主板上各個元件的工作模式。但隨著技術(shù)的發(fā)展,目前采用無跳線技術(shù),主板上除了一個清除BIOS設(shè)置參數(shù)的跳線外,沒有任何跳線。只要插上CPU,就能自動識別和設(shè)定頻率和工作電壓。也可以通過BIOS設(shè)置參數(shù)改變主頻、工作頻率和電壓,不需要使用專門的硬件跳線。DIP開關(guān)(雙列直插式封裝)與普通跳線相同,只是小跳線做成開關(guān)。DIP開關(guān)是一排塊式或滑塊式開關(guān),開關(guān)很小,需要用油筆尖或鑷子撥動。使用DIP開關(guān),可以更直觀、更容易地設(shè)置硬件的工作狀態(tài)。新電腦的系統(tǒng)配置是通過設(shè)置程序設(shè)置的,DIP開關(guān)很少使用。
BIOS固件芯片:芯片組是主板的核心部件,幾乎決定了主板的功能,它會影響整個計算機系統(tǒng)的性能。BIOS固化在電腦主板上的一塊ROM芯片上,存儲著電腦中最重要的基本輸入/輸出程序、系統(tǒng)設(shè)置信息、開機后自檢程序和系統(tǒng)自啟動程序。
附件列表
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。
如果您認(rèn)為本詞條還有待完善,請 編輯
上一篇 商量SenseChat 下一篇 dos系統(tǒng)