Linux啟動過程

2021-08-22 16:32:12 字數 841 閱讀 8179

linux作業系統,在開機時,啟動bios(基本輸入輸出系統)程式,執行post(上電自檢過程),檢查確認基本硬體是否正常工作,否則退出引導。若果檢查正常會立刻產生乙個bios中斷int 13h,此中斷指向引導扇區,將引導扇區的內容載入至記憶體,執行起來引導載入器grub,並將計算機的控制權移交給引導載入器。grub可以尋找到作業系統核心**,載入到記憶體中並加以執行,並且將計算機控制權交給核心,核心開始自解壓,解壓完成依據配置啟動0號程序,即idle程序,idle程序負責程序排程以及記憶體交換等,idle程序使用kernel_thread建立1號程序,即init程序,完成後續階段的初始化工作。

init程序的初始化工作:

使用者登陸linux作業系統執行各個程式,最初是通過啞終端進行登陸(一種硬體連線到主機的方式),終端可以是本地也是可以是某個網路位置,此兩種登陸方式均經由核心裝置驅動程式,硬體裝置有限,導致最初登陸數目有限。上一段,我們可以看到,系統最終建立init程序,此程序會讀取/etc/ttys檔案,檔案中每一行儲存乙個終端裝置。讀取內容呼叫fork,生成乙個子程序,接著呼叫exec getty程式,getty會open乙個終端設別或者乙個網路裝置,同時設定檔案描述符0/1/2也被設定到該裝置上。會顯示出login:字元,等待使用者輸入,一旦輸入,getty程式,呼叫exec login程式,login程式檢查使用者名稱及密碼,登陸失敗呼叫exec getty程式反覆之前過程,如果登陸成功,則完成以下動作:

1 把當前工作目錄設定為登陸使用者起始目錄。

2 更改終端所有權。

3 更改終端裝置訪問許可權。

4 設定程序組。

5 初始化環境。

6 login程式 呼叫exec sh程式,為此使用者登陸shell。

至此,登陸成功。

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