linux啟動過程

2021-09-18 05:00:55 字數 1605 閱讀 7528

(1)載入bios計算機電源加電質檢,首先載入基本輸入輸出系統(basicinput output system,bios),bios中包含硬體cpu、記憶體、硬碟等相關資訊,包含裝置啟動順序資訊、硬碟資訊、記憶體資訊、時鐘資訊、即插即用(plug-and-play,pnp)特性等。載入完bios資訊,計算機將根據順序進行啟動。

(2)讀取mbr讀取完bios資訊,計算機將會查詢bios所指定的硬碟mbr引導扇區,將其內容複製到0x7c00位址所在的物理記憶體中。被複製到物理記憶體的內容是boot loader,然後進行引導

(3)grub引導grub啟動引導器是計算機啟動過程中執行的第乙個軟體程式,當計算機讀取記憶體中的grub配置資訊後,會根據其配置資訊來啟動硬碟中不同的作業系統。

(4)載入kernel計算機讀取記憶體映像,並進行解壓縮操作,螢幕一般會輸出「uncompressinglinux」的提示,當解壓縮核心完成後,螢幕輸出「ok,booting the kernel」。系統將解壓後的核心放置在記憶體之中,並呼叫start_kernel()函式來啟動一系列的初始化函式並初始化各種裝置,完成linux核心環境的建立

(5)設定inittab執行等級核心載入完畢,會啟動linux作業系統第乙個守護程序init,然後通過該程序讀取/etc/inittab檔案,/etc/inittab檔案的作用是設定linux的執行等級,linux常見執行級別如下:

q0:關機模式;

q1:單使用者模式;

2:無網路支援的多使用者模式;

q3:字元介面多使用者模式;

q4:保留,未使用模式;

q5:影象介面多使用者模式;

q6:重新引導系統,重啟模式

(6)載入rc.sysinit讀取完執行級別,linux系統執行的第乙個使用者層檔案/etc/rc.d/rc.sysinit,該檔案功能包括:設定path執行變數、設定網路配置、啟動swap分割槽、設定/proc、系統函式、配置selinux等。

(7)載入核心模組讀取/etc/modules.conf檔案及/etc/modules.d目錄下的檔案來載入系統核心模組。該模組檔案,可以後期新增或者修改及刪除。

(8)啟動執行級別程式根據之前讀取的執行級別,作業系統會執行rc0.d到rc6.d中的相應的指令碼程式,來完成相應的初始化工作和啟動相應的服務。其中以s開頭表示系統即將啟動的程式,如果以k開頭,則代表停止該服務。s和k後緊跟的數字為啟動順序編號。如圖:

(9)讀取rc.local檔案作業系統啟動完相應服務之後,會讀取執行/etc/rc.d/rc.local檔案,可以將需要開機啟動的任務加入到該檔案末尾,系統會逐行去執行並啟動相應命令。如圖:

(10)執行/bin/login程式執行/bin/login程式,啟動到系統登入介面,作業系統等待使用者輸入使用者名稱和密碼,即可登入到shell終端,如圖3-7所示,輸入使用者名稱、密碼即可登入linux作業系統,至此linux作業系統完整流程啟動完畢。

Linux啟動過程

1 開啟 pc電源 pc加電後,乙個特殊的硬體電路會觸發 cpu 的 reset 腳的邏輯值,然後一些 cpu 暫存器,如 cs eip 等被給定乙個值,接著 cpu 跳轉到乙個固定位址開始執行 bios 2 bios 自檢,按設定的裝置啟動 bios 對硬體進行一系列徹底的檢查,如 cpu 型別 ...

Linux 啟動過程

fae 將porting 好的linux 提供,幾乎都在寫應用 空閒時間整理一下 b1202 系統啟動的過程 通過 boot vm 進行啟動 vmlinuz init 程序會讀取 etc inittab etc inittab 先 etc rc.d rc.sysinit 再 etc rc.d rc3...

Linux啟動過程

1.加電時由硬體將bios載入到記憶體末尾.這時是實模式,定址空間為1m.2.由硬體將cs段暫存器強制設定為0xffff,ip指令暫存器設定為0x0000.這樣cs ip指向了oxffff0的位址位置.這個位置就是bios程式的入口位址.3.執行bios程式.在記憶體起始位址0x00000設定1k大...