CentOS 6 啟動流程詳細介紹
CentOS 6 啟動流程詳細介紹
1、 POST(Power On Selt Test) 上電自檢:
按下電源鍵首先要檢測硬件設備是否能正常運行,如:cpu、內存、硬盤等硬件設備。當然POST不是由硬件去檢測(硬件也不會?。?,而是依靠一個軟件來完成的,這個軟件就是BIOS(Basic Input Output System)基本輸入輸出系統(tǒng),它安裝在CMOS芯片上,上電就是給CMOS加電,然后啟動BIOS程序,BIOS會根據CMOS上記錄的硬件信息去讀取硬件并檢測是否能正常運行,之后初始化硬件設備。
2、 MBR(Master Boot Record)主引導分區(qū):
BIOS初始化硬件后會通過硬件的INT13中斷功能實現讀取MBR,讀取MBR中的Boot Loader,Boot Loader是一個軟件,它具有提供菜單功能,直接加載內核信息及相關控制權轉換,MBR只有512bytes,其中前446bytes存儲的是Boot Loader,46bytes存儲分區(qū)表信息,2bytes為分區(qū)標志位。446bytes不足以安裝Boot Loader,事實上MBR前446bytes只是安裝了Boot Loader的最小主程序,即stage1,因為Boot Loader 分為stage1、stage1.5、stage2三個階段來執(zhí)行的,stage1.5存放在MBR隨后的扇區(qū)中,主要用于和stage2所在分區(qū)的文件系統(tǒng)交互,stage2加載硬盤分區(qū)/boot目錄下所有文件、配置文件與環(huán)境參數信息。
3、 Kernel、initrd/initramfs:
/boot目錄下包含vmlinuz,initramfs等內核相關的文件,Boot Loader讀取/boot目錄下所有文件、配置文件與環(huán)境參數信息后,會把內核解壓加載到內存中,根據內核提供的功能開始檢測,加載各個設備,此次檢測與BIOS自檢不同,執(zhí)行到此,后續(xù)工作都由內核來完成(因為Boot Loader已把vmlinuz,initramfs加載到內存中),此時內核還沒有加載磁盤,因為還沒有磁盤驅動程序,內核通過/boot目錄下的虛擬文件系統(tǒng),也就是initramfs,模擬一個rootfs(根文件系統(tǒng)),加載啟動過程中所需要的核心模塊,加載后釋放rootfs(根文件系統(tǒng)),且以只讀方式掛載真實的根文件系統(tǒng),開始正常的啟動過程。
4、 Init:
用戶空間第一個執(zhí)行程序,在內核,硬件及驅動加載完成后,內核會執(zhí)行用戶空間的第一個執(zhí)行程序/sbin/init,init 程序主要功能為準備軟件運行環(huán)境,包括系統(tǒng)主機名稱,網絡配置,文件系統(tǒng)格式等其他服務配置。
Init的配置文件:
CentOS 6:采用Upstart的方式,其特點是守護進程間的通信依賴于D-Bus進行,因此,可基本實現類似并行啟動,配置文件:/etc/inittab、/etc/init/*.conf
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持,如有疑問可以留言或者到本站社區(qū)討論交流,共同進步!
相關文章
解決Linux中Systemd服務環(huán)境變量缺失的問題
在Linux系統(tǒng)運維中,我們可能會遇到在使用systemd管理的服務時無法獲取系統(tǒng)環(huán)境變量,尤其是PATH變量,這確實是一個常見的挑戰(zhàn),因為systemd啟動的服務通常不會加載用戶的環(huán)境變量,下面,我們將一起探討解決這一問題的幾種方法,需要的朋友可以參考下2024-01-01
apache,nginx上傳目錄無執(zhí)行權限的設置方法
至于為什么設置上傳目錄無權限這個我就不累贅了,現在比較流行的web服務有iis,apache,nginx,使用操作系統(tǒng)無非是windows or *nux2010-12-12
Linux 安裝二進制MySQL 及 破解MySQL密碼的方法
這篇文章主要介紹了Linux 安裝二進制MySQL 及 破解MySQL密碼的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
PHP程序員玩轉Linux系列 使用supervisor實現守護進程
這篇文章主要為大家詳細介紹了PHP程序員玩轉Linux系列文章,使用supervisor實現守護進程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04

