linux 操作系統(tǒng)啟動(dòng)流程_第1頁
已閱讀1頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Linux系統(tǒng)啟動(dòng)的基本過程和步驟:系統(tǒng)啟動(dòng)的基本過程和步驟:Linux系統(tǒng)啟動(dòng)過程大致按照如下步驟進(jìn)行(這是一個(gè)簡(jiǎn)述):第一階段:BIOS啟動(dòng)引導(dǎo)階段;在該過程中實(shí)現(xiàn)硬件的初始化以及查找啟動(dòng)介質(zhì);從MBR中裝載啟動(dòng)引導(dǎo)管理器(GRUB)并運(yùn)行該啟動(dòng)引導(dǎo)管理第二階段:GRUB啟動(dòng)引導(dǎo)階段;裝載stage1裝載stage1.5裝載stage2讀取bootgrub.conf文件并顯示啟動(dòng)菜單;裝載所選的kernel和initrd文件到內(nèi)存中

2、;第三階段:內(nèi)核階段(kernel):運(yùn)行內(nèi)核啟動(dòng)參數(shù);解壓initrd文件并掛載initd文件系統(tǒng),裝載必須的驅(qū)動(dòng);掛載根文件系統(tǒng)第四階段:SysVinit初始化階段:?jiǎn)?dòng)sbininit程序;運(yùn)行rc.sysinit腳本,設(shè)置系統(tǒng)環(huán)境,啟動(dòng)swap分區(qū),檢查和掛載文件系統(tǒng);讀取etcinittab文件,運(yùn)行在etrc.drc.d中定義的不同運(yùn)行級(jí)別的服務(wù)初始化腳本;打開字符終端16號(hào)控制臺(tái)打開圖形顯示管理的7號(hào)控制臺(tái)同時(shí)在上述過程中

3、各階段所需要讀取的文件和操作的對(duì)象:BIOS啟動(dòng)引導(dǎo)階段GRUB啟動(dòng)引導(dǎo)階段內(nèi)核階段initsysinit階段==================================================================================================Nonebootgrubgrub.confbootvmlinuzetcrc.drc.sysinitbootgrubstage1_5bo

4、otinitrdetcinittabbootgrubstage2etcrc.drc.detcrc.dinit.d(下面是詳細(xì)的過程)第一階段:系統(tǒng)上電開機(jī)后,主板BIOS(BasicInputOutputSystem)運(yùn)行POST(Poweronselftest)代碼,檢測(cè)系統(tǒng)外圍關(guān)鍵設(shè)備(如:CPU、內(nèi)存、顯卡、IO、鍵盤鼠標(biāo)等)。硬件配置信息及一些用戶配置參數(shù)存儲(chǔ)在主板的CMOS(ComplementaryMetalOxideSem

5、iconduct)上(一般64字節(jié)),實(shí)際上就是主板上一塊可讀寫的RAM芯片,由主板上的電池供電,系統(tǒng)掉電后,信息不會(huì)丟失。執(zhí)行POST代碼對(duì)系統(tǒng)外圍關(guān)鍵設(shè)備檢測(cè)通過后,系統(tǒng)啟動(dòng)自舉程序,根據(jù)我們?cè)贐IOS中設(shè)置的啟動(dòng)順序搜索啟動(dòng)驅(qū)動(dòng)器(比如的硬盤、光驅(qū)、網(wǎng)絡(luò)服務(wù)器等)。選擇合適的啟動(dòng)器,比如通常情況下的硬盤設(shè)備,BIOS會(huì)讀的stage2,這個(gè)時(shí)候start.S讀取的是存放在boot分區(qū)BootSect的stage2。這種情況下就有一

6、個(gè)限制:因?yàn)閟tart.S通過BIOS中斷方式直接對(duì)硬盤尋址(而非通過訪問具體的文件系統(tǒng)),其尋址范圍有限,限制在8GB以內(nèi)。因此這種情況需要將boot分區(qū)分在硬盤8GB尋址空間之前。假如是情形(2),我們將bootgrub目錄下的內(nèi)容清空,依然能成功啟動(dòng)grub;假如是情形(1),將bootgrub目錄下stage2刪除后,則系統(tǒng)啟動(dòng)過程中g(shù)rub會(huì)啟動(dòng)失敗。這個(gè)地方經(jīng)常要進(jìn)行的操作:是關(guān)于grub常用的幾個(gè)指令對(duì)應(yīng)的函數(shù):grubr

7、oot(hd00)?root指令為grub指定了一個(gè)根分區(qū)grubkernelxen.gz2.6.1837.el5?kernel指令將操作系統(tǒng)內(nèi)核載入內(nèi)存grubmodulevmlinuz2.6.1837.el5xenroroot=devsda2?module指令加載指定的模塊grubmoduleinitrd2.6.1837.el5xen.img?指定initrd文件grubboot?boot指令調(diào)用相應(yīng)的啟動(dòng)函數(shù)啟動(dòng)OS內(nèi)核第三階段:

8、如階段2所述,grubboot指令后,系統(tǒng)啟動(dòng)的控制權(quán)移交給kernel。Kernel會(huì)立即初始化系統(tǒng)中各設(shè)備并做相關(guān)配置工作,其中包括CPU、IO、存儲(chǔ)設(shè)備等。關(guān)于設(shè)備驅(qū)動(dòng)加載,有兩部分:一部分設(shè)備驅(qū)動(dòng)編入LinuxKernel中,Kernel會(huì)調(diào)用這部分驅(qū)動(dòng)初始化相關(guān)設(shè)備,同時(shí)將日志輸出到kernelmessagebuffer,系統(tǒng)啟動(dòng)后dmesg可以查看到這部分輸出信息。另外有一部分設(shè)備驅(qū)動(dòng)并沒有編入Kernel,而是作為模塊形式

9、放在initrd(ramdisk)中。在2.6內(nèi)核中,支持兩種格式的initrd,一種是2.4內(nèi)核的文件系統(tǒng)鏡像imageinitrd,一種是cpio格式。以cpio格式為例,內(nèi)核判斷initrd為cpio的文件格式后,會(huì)將initrd中的內(nèi)容釋放到rootfs中。initrd是一種基于內(nèi)存的文件系統(tǒng),啟動(dòng)過程中,系統(tǒng)在訪問真正的根文件系統(tǒng)時(shí),會(huì)先訪問initrd文件系統(tǒng)。將initrd中的內(nèi)容打開來看,會(huì)發(fā)現(xiàn)有bin、devetc、l

10、ib、procsys、sysroot、init等文件(包含目錄)。其中包含了一些設(shè)備的驅(qū)動(dòng)模塊,比如scsiata等設(shè)備驅(qū)動(dòng)模塊,同時(shí)還有幾個(gè)基本的可執(zhí)行程序insmodmodprobelvm,nash。主要目的是加載一些存儲(chǔ)介質(zhì)的驅(qū)動(dòng)模塊,如上面所說的scsiideusb等設(shè)備驅(qū)動(dòng)模塊,初始化LVM,把根文件系統(tǒng)以只讀方式掛載。initrd中的內(nèi)容釋放到rootfs中后,Kernel會(huì)執(zhí)行其中的init文件,這里的init是一個(gè)腳本,

11、由nash解釋器執(zhí)行。這個(gè)時(shí)候內(nèi)核的控制權(quán)移交給init文件處理,我們查看init文件的內(nèi)容,主要也是加載各種存儲(chǔ)介質(zhì)相關(guān)的設(shè)備驅(qū)動(dòng)。驅(qū)動(dòng)加載后,會(huì)創(chuàng)建一個(gè)根設(shè)備,然后將根文件系統(tǒng)以只讀的方式掛載。這步結(jié)束后釋放未使用內(nèi)存并執(zhí)行switchroot,轉(zhuǎn)換到真正的根上面去,同時(shí)運(yùn)行sbininit程序,開啟系統(tǒng)的1號(hào)進(jìn)程,此后系統(tǒng)啟動(dòng)的控制權(quán)移交給init進(jìn)程。關(guān)于switchroot是在nash中定義的程序。LinuxKernel需要適

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論