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

