您好,登錄后才能下訂單哦!
CentOS 6 啟動流程詳細介紹
1、 POST(Power On Selt Test) 上電自檢:
按下電源鍵首先要檢測硬件設備是否能正常運行,如:cpu、內存、硬盤等硬件設備。當然POST不是由硬件去檢測(硬件也不會啊!),而是依靠一個軟件來完成的,這個軟件就是BIOS(Basic Input Output System)基本輸入輸出系統,它安裝在CMOS芯片上,上電就是給CMOS加電,然后啟動BIOS程序,BIOS會根據CMOS上記錄的硬件信息去讀取硬件并檢測是否能正常運行,之后初始化硬件設備。
2、 MBR(Master Boot Record)主引導分區:
BIOS初始化硬件后會通過硬件的INT13中斷功能實現讀取MBR,讀取MBR中的Boot Loader,Boot Loader是一個軟件,它具有提供菜單功能,直接加載內核信息及相關控制權轉換,MBR只有512bytes,其中前446bytes存儲的是Boot Loader,46bytes存儲分區表信息,2bytes為分區標志位。446bytes不足以安裝Boot Loader,事實上MBR前446bytes只是安裝了Boot Loader的最小主程序,即stage1,因為Boot Loader 分為stage1、stage1.5、stage2三個階段來執行的,stage1.5存放在MBR隨后的扇區中,主要用于和stage2所在分區的文件系統交互,stage2加載硬盤分區/boot目錄下所有文件、配置文件與環境參數信息。
3、 Kernel、initrd/initramfs:
/boot目錄下包含vmlinuz,initramfs等內核相關的文件,Boot Loader讀取/boot目錄下所有文件、配置文件與環境參數信息后,會把內核解壓加載到內存中,根據內核提供的功能開始檢測,加載各個設備,此次檢測與BIOS自檢不同,執行到此,后續工作都由內核來完成(因為Boot Loader已把vmlinuz,initramfs加載到內存中),此時內核還沒有加載磁盤,因為還沒有磁盤驅動程序,內核通過/boot目錄下的虛擬文件系統,也就是initramfs,模擬一個rootfs(根文件系統),加載啟動過程中所需要的核心模塊,加載后釋放rootfs(根文件系統),且以只讀方式掛載真實的根文件系統,開始正常的啟動過程。
4、 Init:
用戶空間第一個執行程序,在內核,硬件及驅動加載完成后,內核會執行用戶空間的第一個執行程序/sbin/init,init 程序主要功能為準備軟件運行環境,包括系統主機名稱,網絡配置,文件系統格式等其他服務配置。
Init的配置文件:
CentOS 6:采用Upstart的方式,其特點是守護進程間的通信依賴于D-Bus進行,因此,可基本實現類似并行啟動,配置文件:/etc/inittab、/etc/init/*.conf
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持,如有疑問可以留言或者到本站社區討論交流,共同進步!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。