羣裏說的計算機啓動過程,天天都啓動計算機,卻沒有好好想一想原理,如今記錄下來工具
第一步:當咱們按下電源開關時,電源就開始向主板和其它設備供電,此時電壓還不太穩定,主板上的控制芯片組會向CPU發出並保持一個RESET(重置)信號,讓CPU內部自動恢復到初始狀態,但CPU在此刻不會立刻執行指令。當芯片組檢測到電源已經開始穩定供電了(固然從不穩定到穩定的過程只是一瞬間的事情),它便撤去RESET信號(若是是手工按下計算機面板上的Reset按鈕來重啓機器,那麼鬆開該按鈕時芯片組就會撤去RESET信號),CPU立刻就從地址FFFF0H處開始執行指令,從前面的介紹可知,這個地址實際上在系統BIOS的地址範圍內,不管是AwardBIOS仍是AMIBIOS,放在這裏的只是一條跳轉指令,跳到系統BIOS中真正的啓動代碼處。測試
第二步:系統BIOS的啓動代碼首先要作的事情就是進行POST(Power-OnSelfTest,加電後自檢),POST的主要任務是檢測系統中一些 關鍵設備 是否存在和可否正常工做,例如內存和顯卡等設備。因爲POST是最先進行的檢測過程,此時顯卡尚未初始化,若是系統BIOS在進行POST的過程當中發現了一些致命錯誤,例如沒有找到內存或者內存有問題(此時只會檢查640K常規內存),那麼系統BIOS就會直接控制喇叭發聲來報告錯誤,聲音的長短和次數表明了錯誤的類型。在正常狀況下,POST過程進行得很是快,咱們幾乎沒法感受到它的存在,POST結束以後就會調用其它代碼來進行更完整的硬件檢測。 第三步:接下來系統BIOS將查找顯卡的BIOS,前面說過,存放 顯卡BIOS 的ROM芯片的起始地址一般設在C0000H處,系統BIOS在這個地方找到顯卡BIOS以後就調用它的初始化代碼,由顯卡BIOS來初始化顯卡,此時多數顯卡都會在屏幕上顯示出一些初始化信息,介紹生產廠商、圖形芯片類型等內容,不過這個畫面幾乎是一閃而過。系統BIOS接着會查找其它設備的BIOS程序,找到以後一樣要調用這些BIOS內部的初始化代碼來初始化相關的設備。 第四步:查找完全部其它設備的BIOS以後,系統BIOS將顯示出它本身的啓動畫面,其中包括有系統BIOS的類型、序列號和版本號等內容。 第五步:接着系統BIOS將檢測和顯示CPU的類型和工做頻率,而後開始測試全部的RAM,並同時在屏幕上顯示內存測試的進度,咱們能夠在CMOS設置中自行決定使用簡單耗時少或者詳細耗時多的測試方式。 第六步:內存測試經過以後,系統BIOS將開始檢測系統中安裝的一些標準硬件設備,包括硬盤、CD-ROM、串口、並口、軟驅等設備,另外絕大多數較新版本的系統BIOS在這一過程當中還要自動檢測和設置內存的定時參數、硬盤參數和訪問模式等。 第七步:標準設備檢測完畢後,系統BIOS內部的支持即插即用的代碼將開始檢測和配置系統中安裝的即插即用設備,每找到一個設備以後,系統BIOS都會在屏幕上顯示出設備的名稱和型號等信息,同時爲該設備分配中斷、 DMA通道 和I/O端口等資源。 第八步:到這一步爲止,全部硬件都已經檢測配置完畢了,多數系統BIOS會從新清屏並在屏幕上方顯示出一個表格,其中概略地列出了系統中安裝的各類標準硬件設備,以及它們使用的資源和一些相關工做參數。 第九步:接下來系統BIOS將更新ESCD(ExtendedSystemConfigurationData,擴展 系統配置 數據)。ESCD是系統BIOS用來與 操做系統 交換硬件配置信息的一種手段,這些數據被存放在CMOS(一小塊特殊的RAM,由主板上的電池來供電)之中。一般ESCD數據只在系統硬件配置發生改變後纔會更新,因此不是每次啓動機器時咱們都可以看到"UpdateESCD...Success"這樣的信息,不過,某些主板的系統BIOS在保存ESCD數據時使用了與Windows9x不相同的數據格式,因而Windows9x在它本身的啓動過程當中會把ESCD 數據修改 成本身的格式,但在下一次啓動機器時,即便硬件配置沒有發生改變,系統BIOS也會把ESCD的數據格式改回來,如此循環,將會致使在每次啓動機器時,系統BIOS都要更新一遍ESCD,這就是爲何有些機器在每次啓動時都會顯示出相關信息的緣由。 第十步:ESCD更新完畢後,系統BIOS的啓動代碼將進行它的最後一項工做,即根據用戶指定的啓動順序從軟盤、硬盤或光驅啓動。以從C盤啓動爲例,系統BIOS將讀取並執行硬盤上的 主引導記錄 ,主引導記錄接着從分區表中找到第一個活動分區,而後讀取並執行這個活動分區的分區引導記錄,而分區引導記錄將負責讀取並執行 IO.SYS ,這是DOS和Windows9x最基本的 系統文件 。Windows9x的IO.SYS首先要初始化一些重要的系統數據,而後就顯示出咱們熟悉的藍天白雲,在這幅畫面之下,Windows將繼續進行DOS部分和GUI( 圖形用戶界面 )部分的引導和初始化工做。