復習 LINUX啟動流程
LINUX啟動流程
首先需要了解以下知識:
定時模式:此模式下,地址訪問的都是真實內存地址存在的位置,軟件不受限制的操作所有地址的空間與I/O設備
保護模式:全部使用虛擬內存、段頁式等對內存進行保護
BIOS:BIOS存儲在ROM中,起始位置大家可以自行查閱,BIOS主要包括內存映射
Boot.img:由boot.s編譯而成,512字節,安裝在啟動盤的第一個扇區(MBR),由于空間大小有限,代碼簡單,起引導作用
一:從電源啟動啟動開始到BIOS
按下電源->主板向電源組發出信號->主板接收到電源正常啟動信號后->主板啟動CPU,CPU會重置寄存器并初始化數據,同時定時模式->內存段管理
二:BIOS到Bootloader
BIOS選擇一個啟動設備將控制權交給啟動扇區代碼,主要工作是使用中斷向量與中斷服務程序完成整個Bootloader的加載,最終將boot.img加載到xxxx位置啟動,linux內核通過對Boot protocol定義實現引導程序
三:Bootloader加載流程
boot.img->core.img->NTFS->/boot/
加載core之后啟動main(),初始化控制臺,計算模塊基地址,設置root設備,獲取grub配置文件,加載模塊
總結:按下電源,加載完畢bootloader,后面分析從實時模式進入保護模式,從而啟動內核創建0、1、2號進程的整個流程。
浙公網安備 33010602011771號