Linux的啓動流程,回答面試官自用

wKioL1UG-g7yJZrsAAHAdgJ_bZY664.jpg

對於Linux的啓動流程,是一個很複雜的過程

下面我來介紹一下:

    1、當我們按下電源鍵通電後,我們的BIOS會去檢查硬件(CPU、顯卡、硬盤、光驅等等)是否有問題,取得主機的各項硬件配置後,就會去找啓動設備,這裏說的就是硬盤,找到硬盤的MBR,這時候就將控制權交到MBR中

    2、MBR的功能就是去找到安裝在MBR的grub菜單,也就是Boot loader,隨後grub就把系統的kernel(內核)給引導出來了

    3、當boot loader讀取到kernel文件後,會將內核加載到內存中,此時內核會取代BIOS的功能,重新檢查一次硬件,在硬件驅動成功後,kernel會主動調用init進程

    4、接着就會初始化系統了,init會取得/etc/inittab的信息,獲取系統的運行級別

    5、init執行/etc/rc.d/rc.sysinit文件來準備軟件執行的操作環境(網絡、時區等)

    6、init執行run-level的各個服務等

    7、init執行/etc/rc.d/rc.local文件

    8、init執行終端機模擬程序mingetty來啓動login進程,最後就是等待用戶登陸


①BIOS:Basic Input Output System,基本輸入輸出系統。

    它是一個韌體,寫在主板上的一個ROM芯片的程序,CMOS就是ROM芯片,是一個硬件,要與之區別

②MBR:Master Boot Record,主引導記錄。在硬盤的0柱面、0磁頭、1扇區,稱爲主引導扇區

    有512個字節:主引導程序(Boot loader)佔446個字節

                 分區表信息:佔64字節

                 結束校驗位:2字節(固定爲22AA)

③GRUB:Grand Unified Bootloader,多重操作系統的啓動管理器。GRUB可用於選擇操作系統分區上的不同內核,也可用於向這些內核傳遞啓動參數

/etc/inittab:這個配置文件會去默認運行哪個級別的系統,id:5:initdefault: 意思是默認運行5級別的系統

⑤/etc/rc.d/rc.sysinit:會設置主機名,啓動網絡服務,加載外部設備(鼠標、鍵盤)反正就是加載各項系統服務,設置系統環境。

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