系統啟動流程
我們幾乎每天都要開啟電源啟動機器,面對螢幕上出現的一幅幅啟動畫面,我們一點兒也不會感到陌生,但是,計算機在顯示這些啟動畫面時都做了些什麼工作呢?
開啟計算機機電源後到計算機準備接受你發出的命令之間計算機所執行的過程稱為引導(boot)過程。我們知道,當關閉電源後,ram的資料將丟失,因此,計算機不是用ra來保持計算機的基本工作指令,而是使用另外的方法將作業系統檔案載入到ram中,再由作業系統接管對機器的控制。這是引導過程中的乙個主要部分。總的說來,引導過程有下面幾個步驟:
① 加電––––開啟電源開關,給主機板和內部風扇供電。
② 啟動引導程式––––cpu開始執行儲存在rom bios中的指令。
③ 開機自檢––––計算機對系統的主要部件進行診斷測試。
④ 載入作業系統––––計算機將作業系統檔案從磁碟讀到ram中。
⑤ 檢查配置檔案,定製作業系統的執行環境––––讀取配置檔案,根據使用者的設定對作業系統進行定製。
⑥ 準備讀取命令和資料––––計算機等待使用者輸入命令和資料。
(一) 加電
引導過程的第一步就是通電。電扇開始運轉,電源指示燈應該變亮,否則說明系統電源**有問題,或是主機板等部件和機箱發生短路。
(二) 啟動引導程式
cpu是從記憶體位址ffff0h處開始執行指令的,從前面的介紹可知,這個位址實際上在系統bios的位址範圍內,無論是哪家公司的 bios,放在這裡的只是一條跳轉指令,跳到系統bios中真正的啟動**處。
(三) 開機自檢
系統bios的啟動**首先要做的事情就是進行post(power-on self test,加電後自檢),post的主要任務是檢測系統中一些關鍵裝置是否存在和能否正常工作,例如記憶體和顯示卡等裝置。由於post是最早進行的檢測過程,此時顯示卡還沒有初始化,如果系統bios在進行post的過程中發現了一些致命錯誤,例如沒有找到記憶體或者記憶體有問題(此時只會檢查640k常規記憶體),那麼系統bios就會直接控制喇叭發聲來報告錯誤。正常情況下,post過程進行得非常快。
post結束之後,系統bios將查詢顯示卡的bios並呼叫它的初始化**,由顯示卡bios來初始化顯示卡,此時多數顯示卡都會在螢幕上顯示出一些初始化資訊,介紹生產廠商、圖形晶元型別等內容。系統bios接著會查詢其他裝置的bios程式,找到之後同樣要呼叫這些bios內部的初始化**來初始化相關的裝置。
查詢完所有其他裝置的bios之後,系統bios將顯示出它自己的啟動畫面,其中包括系統bios的型別、序列號和版本號等內容。然後檢測和顯示cpu的型別和工作頻率,然後開始測試所有的ram,並同時在螢幕上顯示記憶體測試的進度。
記憶體測試通過之後,系統bios將開始檢測系統中安裝的一些標準硬體裝置,包括硬碟、cd-rom、串列埠、並口、軟碟機等裝置,另外絕大多數較新版本的系統bios在這一過程中還要自動檢測和設定記憶體的定時引數、硬碟引數和訪問模式等。
標準裝置檢測完畢後,系統bios內部支援即插即用的**將開始檢測和配置系統中安裝的即插即用裝置,每找到乙個裝置之後,系統bios都會在螢幕上顯示出裝置的名稱和型號等資訊,同時為該裝置分配中斷、dma通道和i/o埠等資源。
經過上面幾步,所有硬體都已經檢測配置完畢,多數系統bios會重新清屏並在螢幕上方顯示出乙個**,其中概略地列出了系統中安裝的各種標準硬體裝置,以及它們使用的資源和一些相關工作引數。
接下來系統bios將根據cmos配置更新escd(extended system configuration data,擴充套件系統配置資料),escd是系統bios用來與作業系統交換硬體配置資訊的一種手段。通常escd資料只在系統硬體配置發生改變後才會更新,所以不是每次啟動機器時我們都能夠看到「update escd… success」這樣的資訊。
(四) 載入作業系統
在post成功之後,系統bios的啟動**將進行它的最後一項工作,即根據使用者指定的啟動順序從軟盤、硬碟或光碟機啟動,定位並載入作業系統檔案。首先計算機查詢兩個作業系統檔案:io.sys和msdos.sys。如果這兩個檔案不存在,引導過程會顯示如下資訊:「non-system disk or disk error」或者「invalid system disk」。
然後,微處理器將試圖載入另外乙個作業系統檔案command.com。如果載入失敗(command.com檔案不存在或版本不對),會出現故障資訊:「bad or missing command interpreter」,而且你發出的所有命令計算機都無法執行,因為command.com是專門用來解釋這些命令的。
(五) 檢查配置檔案並定製作業系統的執行環境
在引導過程初期,計算機通過檢查cmos中的資訊對硬體作初始化等工作。但具體到不同的作業系統中,計算機還需要更多的配置資訊來正確使用所有的裝置並建立個性化的執行環境。
我們以dos和windows兩種常用的pc作業系統為例,在dos中我們常通過建立並編輯autoexec.bat檔案實現開機後自動執行某些命令,比如設定硬碟緩衝區大小、自動啟動漢字環境等;在另乙個檔案config.sys中可以載入滑鼠、光碟機、音效卡等裝置的dos驅動程式等,使在dos中可以使用這些裝置。在windows中對執行環境進行配置的方法更多,比如修改登錄檔,編輯system.ini、win.ini等系統配置檔案,或將希望啟動完windows後立即執行的內容放入windows的啟動(startup)組中。
(六) 準備接收命令和資料
當計算機準備好接收命令時就結束了引導過程。通常在引導結束後,計算機會顯示作業系統的螢幕或提示符。如果你使用的是windows,那麼就會看到windows的桌面;如果使用的是dos,就會看到作業系統提示符(如c:\>;a:\>等)。
上面介紹的整個過程便是計算機在開啟電源開關(或按reset鍵)進行冷啟動時所要完成的引導工作。如果我們在dos下按ctrl+alt+del組合鍵(或從windows中選擇重新啟動計算機)來進行熱啟動,那麼post過程將被跳過去,另外檢測cpu和記憶體測試也不會再進行。我們可以看到,無論是冷啟動還是熱啟動,系統bios都一次又一次地重複進行著這些我們平時並不太注意的事情,然而正是這些單調的步驟為我們能夠正常使用電腦提供了基礎。
計算機啟動流程
啟動 英文是boot,其本意是靴子的意思,這裡boot是bootstrap 鞋帶 的縮寫,來自諺語 pull oneself up by one s bootstraps 譯為 拽著鞋帶把自己拉起來 最早的時候,工程師們用它來比喻計算機啟動的矛盾過程 必須先執行程式,然後計算機才能啟動,但是計算機不...
計算機的啟動流程
從開啟電源到開始操作,計算機的啟動是乙個非常複雜的過程。我一直搞不清楚,這個過程到底是怎麼回事,只看見螢幕快速滾動各種提示 這幾天,我查了一些資料,試圖搞懂它。下面就是我整理的筆記。零 boot的含義 先問乙個問題,啟動 用英語怎麼說?回答是boot。可是,boot原來的意思是靴子,啟動 與靴子有什...
計算機啟動流程解析
大致一看可以知道pc機啟動的過程。引用自 計算機啟動時,cpu工作在實模式下,最大定址空間只有1mb,這1mb非常重要,它又可以分為高位址部分和低位址部分 00000h 9ffffh為低地 址 a0000h fffffh為高位址部分,其中低位址總共640kb,為基本儲存空間,存放中斷向量 bios資...