我所理解的Linux啟動過程

2021-07-11 01:15:51 字數 800 閱讀 1876

計算機的啟動很矛盾:先執行程式,計算機才能夠啟動;而計算機不啟動是無法執行程式的。

指令暫存器決定cpu下一步要執行的指令

當電源通電一瞬間,暫存器重置為預設值,而這個預設值是指向bios

1.bios

固化在rom晶元上的一段程式 計算機一通電就會執行bios

在bios階段,主要包括兩個步驟:自檢和啟動順序

告訴計算機從哪塊裝置去找作業系統

三個字:找裝置

2.主引導記錄

計算機找到了硬碟後就會去讀取硬碟的第乙個扇區

硬碟的第乙個扇區既最前面的512位元組,稱為主引導記錄

三部分:機器碼、分割槽表、記錄簽名

需要注意的是 記錄簽名為主引導記錄的最後兩個位元組 只有這兩個自己為0x55 0xaa時 才能用於啟動 否則 將控制權交給第二啟動順序的裝置

告訴計算機從硬碟的什麼地方去找作業系統

三個字:找分割槽

3.硬碟啟動

找到啟用的分割槽 載入作業系統

4.載入作業系統核心

將/boot目錄下的核心檔案載入到記憶體

5.第乙個程序

/sbin/init pid=1

其它所有程序都是他的衍生 都是它的子程序

6.rcn.d

n表示執行級別 n=0~6

0關機 1單使用者 6重啟 2-5正常

裡面的檔案大部分為軟鏈結 實際檔案為/etc/init.d下的檔案

7.載入自啟動的檔案

既根據預設的執行級別 將rcn.d裡面的指令碼依次啟動或關閉

8.登入

至此計算機應該就算啟動完成了。

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大...