Linux 引導過程內幕

2021-06-21 22:42:08 字數 717 閱讀 8169

linux啟動流程

當 bzimage(用於 i386 映像)被呼叫時,我們從./arch/i386/boot/head.sstart彙編例程開始執行(主要流程圖請參看圖 3)。這個例程會執行一些基本的硬體設定,並呼叫./arch/i386/boot/compressed/head.s中的startup_32例程。此例程會設定乙個基本的環境(堆疊等),並清除 block started by symbol(bss)。然後呼叫乙個叫做decompress_kernel的 c 函式(在./arch/i386/boot/compressed/misc.c中)來解壓核心。當核心被解壓到記憶體中之後,就可以呼叫它了。這是另外乙個startup_32函式,但是這個函式在./arch/i386/kernel/head.s中。

在這個新的startup_32函式(也稱為清除程式或程序 0)中,會對頁表進行初始化,並啟用記憶體分頁功能。然後會為任何可選的浮點單元(fpu)檢測 cpu 的型別,並將其儲存起來供以後使用。然後呼叫start_kernel函式(在init/main.c中),它會將您帶入與體系結構無關的 linux 核心部分。實際上,這就是 linux 核心的main函式。

linux引導過程

bios是位於主機板的快閃儲存器中某段特殊區域。這個過程主要是是執行bios中從位址0xffff0處開始的 主要是確定要使用哪個裝置來引導系統,這個過程的具體步驟為 1 加電自檢 post 即對硬體進行檢測 2 本地裝置的列舉及初始化,bios會按照cmos設定的順序來搜尋處於活動狀態並且可以引導的...

Linux引導過程

1 開機 2 加電自檢 bios,一段程式用於控制管理硬體,並決定啟動順序 所有資料 於cmos晶元 3 mbr引導 尋找啟動裝置上的mbr資訊,搜尋系統所有分割槽位置 4 grub引導 系統選擇選單 boot grub grub.conf 5 載入核心 將啟動核心載入到記憶體中 改區域不可越權訪問...

Linux 引導過程

引導過程的步驟 linux系統典型的引導過程由下面6個不同的階段組成 載入並初始化核心 檢測和配置裝置 建立核心執行緒 操作員干預 執行系統啟動指令碼 多使用者模式執行 系統管理員對以上大多數步驟幾乎沒有什麼控制權。我們通過編輯系統啟動指令碼來影響大多數的引導配置。初始化核心 linux核心本身就是...