電腦的啟動(dòng)過(guò)程中有一個(gè)非常完善的硬件自檢機(jī)制。對(duì)于采用Award BIOS的電腦來(lái)說(shuō),它在上電自檢那短暫的幾秒鐘里,就可以完成100多個(gè)檢測(cè)步驟。首先我們先來(lái)了解兩個(gè)基本概念:第一個(gè)是BIOS(基本輸入輸出系統(tǒng)),BIOS實(shí)際上是被“固化”在計(jì)算機(jī)硬中、直接與硬件打交道的一組程序,計(jì)算機(jī)的啟動(dòng)過(guò)程是在主板BIOS的控制下進(jìn)行的,我們也常把它稱做“系統(tǒng)BIOS”。第二個(gè)基本概念是內(nèi)存地址,通常計(jì)算機(jī)中安裝有32M、64M、或128M等內(nèi)存,為了方便于CPU訪問(wèn),這些內(nèi)存的每一個(gè)字節(jié)都被賦予了一個(gè)地址。32M的地址范圍用十六進(jìn)制數(shù)表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB內(nèi)存非常特殊,因?yàn)槲覀兪褂玫?2位處理器能夠直接訪問(wèn)的內(nèi)存最大只有1MB,因此這1MB中的低端640KB被稱為基本內(nèi)存,而A0000H~BFFFFH要保留給顯示卡的顯存使用,C000H~FFFFFH則被保留給BIOS使用,其中系統(tǒng)BIOS一般占用最后的64KB或更多一點(diǎn)的空間,顯示卡BIOS一般在C000H~C7FFFH處,IDE控制器的BIOS在C8000H~CBFFFH處,下面我們就來(lái)仔細(xì)了解一下計(jì)算機(jī)的啟動(dòng)過(guò)程。
當(dāng)我們按下電源開(kāi)關(guān)時(shí),電源就開(kāi)始向主板和其它設(shè)備供電,此時(shí)電壓還是不穩(wěn)定,主板控制芯片組會(huì)向CPU發(fā)出一個(gè)RESET信號(hào),讓CPU初始化。當(dāng)電源開(kāi)始穩(wěn)定供電后,芯片組便撤去RESET信號(hào),CPU馬上就從地址FFFF0H處開(kāi)始執(zhí)行指令,這個(gè)地址在系統(tǒng)BIOS的地址范圍內(nèi),無(wú)論是AWARD BIOS還是AMI BIOS,放在這里的只是一條跳線指令,跳到系統(tǒng)BIOS中真正的啟動(dòng)代碼處。
在這一步中,系統(tǒng)BIOS的啟動(dòng)代碼首先要做的事情就是進(jìn)行POST(Power On Self Test,加電自檢),POST的主要任務(wù)是檢測(cè)系統(tǒng)中的一些關(guān)鍵設(shè)備是否存在和能否正常工作,如內(nèi)存和顯卡等。由于POST的檢測(cè)過(guò)程在顯示卡初始化之前,因此如果在POST 的過(guò)程中發(fā)現(xiàn)了一些致命錯(cuò)誤,如沒(méi)有找到內(nèi)存或者內(nèi)存有問(wèn)題時(shí)(POST過(guò)程只檢查640K常規(guī)內(nèi)存),是無(wú)法在屏幕上顯示出來(lái)的,這時(shí)系統(tǒng)POST可通過(guò)喇叭發(fā)聲來(lái)報(bào)告錯(cuò)誤情況,聲音繁榮長(zhǎng)短和次數(shù)代表了錯(cuò)誤的類型。電腦基礎(chǔ)
接下來(lái)系統(tǒng)BIOS將檢查顯示卡的BIOS,存放顯示卡BIOS的ROM芯片的起始地址通常在C0000H處,系統(tǒng)BIOS找到顯卡BIOS之后調(diào)用它的初始化代碼,由顯卡BIOS找來(lái)完成顯示卡的初始化。大多數(shù)顯示卡在這個(gè)過(guò)程通常會(huì)在屏幕上顯示出一些顯示卡的信息。如生產(chǎn)廠商、圖形芯片類型、顯存容量等內(nèi)容,這就是我們開(kāi)機(jī)看到的第一個(gè)畫(huà)面,不過(guò)這個(gè)畫(huà)面幾乎是一閃而過(guò)的,也有的顯卡BIOS使用了延時(shí)功能,以便用戶可以看清楚顯示的信息。接著系統(tǒng)BIOS會(huì)找到之后同樣要調(diào)用這些BIOS內(nèi)部的初始化代碼來(lái)初始化這些設(shè)備。
查找完所有其它設(shè)備的BIOS之后,系統(tǒng)BIOS將顯示它自己的啟動(dòng)畫(huà)面,其中包括有系統(tǒng)BIOS的類型、序列號(hào)和版本號(hào)等內(nèi)容。同時(shí)屏幕低端左下角會(huì)出現(xiàn)主板信息代碼,包括BIOS的日期、主板芯片組型號(hào)、主板的識(shí)別編碼及廠家的代碼等。
接著系統(tǒng)BIOS將檢測(cè)CPU的類型和工作頻率,并將檢測(cè)結(jié)果顯示在屏幕上,這就是我們開(kāi)機(jī)看到的CPU類型和主頻。接下來(lái)系統(tǒng)BIOS開(kāi)始測(cè)試主機(jī)所有的內(nèi)存容量,并同時(shí)在屏幕上顯示內(nèi)存測(cè)試數(shù)值,就是大家所熟悉的屏幕上半部分那個(gè)飛速翻滾的內(nèi)存計(jì)數(shù)器。
內(nèi)存檢測(cè)通過(guò)之后,系統(tǒng)BIOS將開(kāi)始檢測(cè)系統(tǒng)中安裝的一些標(biāo)準(zhǔn)硬件設(shè)備,這些設(shè)備包括:硬盤(pán)、CD-ROM、軟驅(qū)、串行接口和并行接口等連接的設(shè)備,另外絕大多數(shù)新版本的系統(tǒng)BIOS在這一過(guò)程中還要自動(dòng)檢測(cè)和設(shè)備內(nèi)存的相關(guān)參數(shù)、硬盤(pán)參數(shù)和訪問(wèn)模式等。
標(biāo)準(zhǔn)設(shè)備檢測(cè)完畢后,系統(tǒng)BIOS內(nèi)部的支持即插即用的代碼將開(kāi)始檢測(cè)和配置系統(tǒng)中安裝的即插即用設(shè)備。每找到一個(gè)設(shè)備之后,系統(tǒng)BIOS都會(huì)在屏幕上顯示出設(shè)備的名稱和型號(hào)等信息,同時(shí)為該設(shè)備分配中斷、DMA通道和I/O端口等資源。
到這一步為止,所有硬件都已經(jīng)檢測(cè)配置完畢了,系統(tǒng)BIOS會(huì)重新清屏并在屏幕上方顯示出一個(gè)系統(tǒng)配置表,其中簡(jiǎn)略地列出系統(tǒng)安裝的各種標(biāo)準(zhǔn)硬件設(shè)備,以及它們使用的資源和一些相關(guān)工作參數(shù)。
接下來(lái)系統(tǒng)BIOS將更新ESCD(Extended System Configuration Data,擴(kuò)展系統(tǒng)配置數(shù)據(jù))。ESCD是系統(tǒng)BIOS用來(lái)與操作系統(tǒng)交換硬件配置信息的數(shù)據(jù),這些數(shù)據(jù)被存放在CMOS中。通常ESCD數(shù)據(jù)只在系統(tǒng)硬件配置發(fā)生改變后才會(huì)進(jìn)行更新,所以不是每次啟動(dòng)機(jī)器時(shí)我們都能夠看到“Updata ESCD…Success”這樣的信息。不過(guò),某些主板的系統(tǒng)BIOS在保存ESCD數(shù)據(jù)時(shí)使用了與Windows 9X不相同得數(shù)據(jù)格式,于是WINDOWS 9X在它自己的啟動(dòng)過(guò)程中會(huì)把ESCD數(shù)據(jù)轉(zhuǎn)換成自己的格式,但在下一次啟動(dòng)機(jī)器時(shí),系統(tǒng)BIOS又會(huì)把ESCD的數(shù)據(jù)格式改回來(lái),如此循環(huán),將會(huì)導(dǎo)致在每次啟動(dòng)機(jī)器時(shí),系統(tǒng)BIOS都要更新一遍ESCD,這就是為什么有的計(jì)算機(jī)在每次啟動(dòng)時(shí)都會(huì)顯示:“Updata ESCD…Success”信息的原因。
ESCD數(shù)據(jù)更新完畢后,系統(tǒng)BIOS的啟動(dòng)代碼將進(jìn)行它的最后一項(xiàng)工作,既根據(jù)用戶指定的啟動(dòng)順序從軟盤(pán)、硬盤(pán)或光驅(qū)啟動(dòng)。以從C盤(pán)啟動(dòng)為例,系統(tǒng)BIOS將讀取并執(zhí)行這個(gè)活動(dòng)分區(qū)的分區(qū)記錄,主引導(dǎo)記錄接著從分區(qū)表中找到第一個(gè)活動(dòng)分區(qū),然后讀取并執(zhí)行這個(gè)活動(dòng)分區(qū)的分區(qū)引導(dǎo)記錄。而分區(qū)引導(dǎo)記錄將負(fù)責(zé)讀取并執(zhí)行IO.SYS,這是DOS和WINDOWS 9X最基本的系統(tǒng)文件。WINDOWS 9X的IO.SYS首先要初始化一些重要的系統(tǒng)數(shù)據(jù),然后就顯示出我們熟悉的藍(lán)天白云,在這幅畫(huà)面之下,WINDOWS將繼續(xù)進(jìn)行DOS部分的引導(dǎo)和初始化工作。計(jì)算機(jī)基礎(chǔ)知識(shí)
上面介紹的便是計(jì)算機(jī)在打開(kāi)電源開(kāi)關(guān)(或按RESET鍵)將進(jìn)行冷啟動(dòng)時(shí)所要完成的各種初始化工作,如果我們?cè)贒OS下按Ctrl+Alt+Del組合鍵(或從WINDOWS中選擇重起計(jì)算機(jī))來(lái)進(jìn)行熱啟動(dòng),那么POST過(guò)程將被跳過(guò)去,另外檢測(cè)CPU和內(nèi)存測(cè)試也不會(huì)再進(jìn)行。無(wú)論是冷啟動(dòng)還是熱啟動(dòng),系統(tǒng)BIOS都會(huì)重復(fù)上面的硬件檢測(cè)和引導(dǎo)過(guò)程,正是這個(gè)不起眼的過(guò)程保證了我們可以正常的啟動(dòng)和使用計(jì)算機(jī)。