計算機(jī)啟動流程:從硬件到操作系統(tǒng)
沒有任何軟件是沒有任何用處的,只有計算機(jī)有了操作系統(tǒng)這個系統(tǒng)軟件,計算機(jī)才有了作用,我們可以通過操作系統(tǒng)去認(rèn)識硬件,通過文件系統(tǒng)對硬盤內(nèi)的數(shù)據(jù)進(jìn)行讀取和修改。那么問題來了,電腦剛啟動的時候,這些硬件是
沒有任何軟件是沒有任何用處的,只有計算機(jī)有了操作系統(tǒng)這個系統(tǒng)軟件,計算機(jī)才有了作用,我們可以通過操作系統(tǒng)去認(rèn)識硬件,通過文件系統(tǒng)對硬盤內(nèi)的數(shù)據(jù)進(jìn)行讀取和修改。那么問題來了,電腦剛啟動的時候,這些硬件是如何讀取到操作系統(tǒng)的呢?
BIOS和CMOS的作用
剛開機(jī)時,我們的計算機(jī)還沒有任何的軟件系統(tǒng),那么計算機(jī)是如何讀取硬盤內(nèi)的操作系統(tǒng)文件呢?這就牽扯到計算機(jī)里的開機(jī)程序了,還會牽扯到一些概念,比如BIOS、CMOS和MBR等。
首先,BIOS是Basic input output system的縮寫,是一段程序固化在一個只讀存儲器中。BIOS的功能包括硬件自檢、讀取CMOS存儲的硬件信息和配置信息、執(zhí)行跳轉(zhuǎn)到操作系統(tǒng)引導(dǎo)設(shè)備的引導(dǎo)分區(qū)以及硬件IO及終端服務(wù)。
CMOS是一個隨機(jī)存儲器RAM,用于保存當(dāng)前電腦的硬件配置信息。我們可以通過BIOS中的CMOS設(shè)置程序功能來修改CMOS中的數(shù)據(jù)。為了防止數(shù)據(jù)丟失,CMOS需要一直供電,所以主板上會有一個電池來給CMOS供電。
計算機(jī)啟動過程
開機(jī)后首先執(zhí)行的是BIOS程序,可以通過BIOS去設(shè)置CMOS,然后BIOS會識別操作系統(tǒng)引導(dǎo)設(shè)備的引導(dǎo)分區(qū),也就是硬盤中的第一個扇區(qū)。
主引導(dǎo)分區(qū)(MBR)與引導(dǎo)加載程序
磁盤的第一個扇區(qū)記錄著主引導(dǎo)分區(qū)(MBR)和分區(qū)表。BIOS會找到MBR并執(zhí)行其中的引導(dǎo)加載程序,它的任務(wù)是加載內(nèi)核文件,并能讀取硬盤內(nèi)的文件系統(tǒng)格式。
多操作系統(tǒng)的引導(dǎo)加載
如果電腦安裝了多個操作系統(tǒng),引導(dǎo)加載程序會提供一個菜單的功能,讓用戶選擇要啟動的操作系統(tǒng)。對于Windows操作系統(tǒng),引導(dǎo)加載程序會直接讀取內(nèi)核文件進(jìn)行啟動;對于Linux操作系統(tǒng),引導(dǎo)加載程序會將工作交給另一個引導(dǎo)加載程序,該程序位于Linux安裝所在分區(qū)的啟動扇區(qū)。
學(xué)習(xí)操作系統(tǒng)的原理和硬件知識
以上是計算機(jī)啟動流程的一個簡單介紹,如果想深入了解,需要自行學(xué)習(xí)操作系統(tǒng)的原理以及與硬件相關(guān)的知識。如果文章中有任何錯誤,請指出并提出修改建議,如果覺得有用,請投票支持。