Linux系統的啓動過程簡述

Linux的啓動過程

1、內核引導
打開計算機後,首先是BIOS開機自檢,因爲BIOS中包含了CPU的相關信息、設備啓動順序信息、硬盤、內存、始終信息、PnP特性等。
操作系統接管硬件後,首先讀入/boot目錄下的內核文件。

磁盤上的第一個扇區被稱爲MBR,也就是 Master Boot Record (主引導記錄),雖然只有512字節,但是存放了預啓動信息,分區表信息。
系統找到BIOS指定硬盤MBR後,會將其複製到物理內存中,也就是Boot Loader。

Boot Loader 就是操作系統內核運行之前的一段小程序,可以將初始化硬件設備、建立內存空間的映射視圖,爲操作系統內核的運行做好準備。
Boot Loader有很多種,Grub、Lilo和spfdisk。較爲常見爲Grub,系統讀取出內存中的grub配置信息,並按照此配置信息來啓動不同的操作系統。

根據grub設定的內核映像所在的路徑,系統讀取內存映像,並進行解壓縮操作,當解壓縮內核完成後,屏幕輸出“OK ,booting the kernel”。
系統將解壓後的內核放置在內存之中,並調用start_kennel()函數來啓動一系列的函數並初始化各種設備,完成Linux核心環境的建立。至此,Linux內核就已經建立。

2、運行init
內核被加載後,第一個運行程序就是/sbin/init,該文件會讀取/etc/inittab文件,並根據此文件進行初始化操作。
運行等級:

    0:系統停機狀態,系統默認運行級別不能設爲0,否則不能正常啓動
    1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸
    2:多用戶狀態(沒有NFS),(無網絡支持的多用戶模式)
    3:完全的多用戶狀態(有NFS),登陸後進入控制檯命令行模式,(有網絡支持的多用戶模式)
    
    4:系統未使用,保留
    5:X11控制檯,登陸後進入圖形GUI模式(圖形化界面)
    6:系統正常關閉並重啓,默認運行級別不能設爲6,否則不能正常啓動

3、系統初始化
等級設定之後,Linux系統執行的第一個用戶層文件就是/etc/rc.d/rc.sysinit腳本程序,它設定了path、網絡配置/etc/sysconfig/network、啓動swap分區、設定/proc等。

根據/etc/modules.conf 文件或/etc/modules.d目錄下的文件來裝載內核模塊。

根據運行級別的不同,系統會從rc0.d到cr6.d中執行響應的初始化工作和啓動響應的服務。

4、登錄
執行/bin/login 程序,進入登錄狀態
對於運行級別爲5的圖形方式用戶來說,他們的登錄是通過一個圖形化的登錄界面。登錄成功後可以直接進入 KDE、Gnome 等窗口管理器。
而本文主要講的還是文本方式登錄的情況:當我們看到mingetty的登錄界面時,我們就可以輸入用戶名和密碼來登錄系統了。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章