系統引導

系統引導

系統引導指的是將操作系統內核裝入內存並啟動系統的過程。系統引導通常是由一個被稱為啟動引導程序的特殊代碼完成的,它位於系統ROM中,用來完成定位內核代碼在外存的具體位置、按照要求正確裝入內核至內存並最終使內核運行起來的整個系統啟動過程。該過程中,啟動引導程序要完成多個初始化過程,當這些過程順利完成後才能使用系統的各種服務。這些過程包括初始引導、內核初始化、全系統初始化。

初始引導


初始引導過程主要由計算機的BIOS完成。BIOS是固化在ROM中的基本輸入輸出系統(Basic Input/Output System),其內容存儲在主板ROM晶元中,主要功能是為內核運作環境進行預先檢測。其功能主要包括中斷服務程序、系統設置程序、上電自檢(Power On Self Test,POST)和系統啟動自舉程序等。中斷服務程序是系統軟硬體間的一個可編程介面,用於完成硬體初始化;系統設置程序用來設置CMOS RAM中的各項參數,這些參數通常表示系統基本情況、CPU特性、磁碟驅動器等部件的信息等,開機時按Delete鍵即可進入該程序界面;上電自檢POST所做的工作是在計算機通電后自動對系統中各關鍵和主要外設進行檢查,一旦在自檢中發現問題,將會通過鳴笛或提示信息警告用戶;系統啟動自舉程序是在POST完成工作后執行的,它首先按照系統CMOS設置中保存的啟動順序搜索磁碟驅動器、CD-ROM、網路伺服器等有效的驅動器,讀入操作系統引導程序,接著將系統控制權交給引導程序,並由引導程序裝入內核代碼,以便完成系統的順序啟動。

內核初始化


操作系統內核裝入內存后,引導程序將CPU控制權交給內核,此時內核才可以開始執行。內核將首先完成初始化功能,包括對硬體、電路邏輯等的初始化,以及對內核數據結構的初始化,如頁表(段表)等。

全系統初始化


上述兩個步驟完成後,最後要做的就是啟動用戶介面,使系統處於等待命令輸入狀態即可。這個階段操作系統做的主要工作是為用戶創建基本工作環境,接收、解釋和執行用戶程序與指令。不同系統、不同設置,全系統初始化完成後的介面表現是不同的。如果選擇了圖形界面,此時會顯示用戶賬號和密碼輸入界面,典型的如Windows的用戶登錄界面;若使用的是命令介面,則會顯示命令行形式的用戶登錄界面,如圖所示為Ubuntu Linux系統的命令行登錄界面。
Linux系統的命令行登錄界面
Linux系統的命令行登錄界面
無論是圖形介面還是命令介面,只要全系統初始化完成,即可使用用戶名和相應密碼進入操作系統環境。