linux啟動流程

我們都知道,由于Linux的穩(wěn)定性,通常被作為服務(wù)器系統(tǒng),要想稱為一個PHP的高手,linux是必修之課。那么linux系統(tǒng)從開機到啟動,中間到底都發(fā)生了什么?本文來簡單探討一下中間的神秘過程。

1、 BIOS加電自檢

BIOS是英文"Basic

Input Output System"的縮略詞 其實,它是一組固化到計算機內(nèi)主板上一個ROM芯片上的程序。

計算機會首先加載BIOS信息,這是因為BIOS中包含了CPU的相關(guān)信息、設(shè)備啟動順序信息、硬盤信息、內(nèi)存信息、時鐘信息等等。在此之后,計算機心里就有譜了,知道應(yīng)該去讀取哪個硬件設(shè)備了。

2、 加載主引導(dǎo)加載程序(MBR)

MasterBootRecord,即主引導(dǎo)記錄,它的大小是512字節(jié),別看地方不大,可里面卻存放了預(yù)啟動信息、分區(qū)表信息。

主引導(dǎo)程序是一個512字節(jié)的映像。包含一點機器碼還有一個小的分區(qū)。

主引導(dǎo)程序的任務(wù)就是查找并且加載處在硬盤分區(qū)上的次引導(dǎo)程序。通過分區(qū)表查找活動分區(qū),并將處在活動分區(qū)的次引導(dǎo)加載程序讀取到內(nèi)存里面運行。

3、 boot loader

bootloader就是在操作系統(tǒng)內(nèi)核運行之前執(zhí)行的的一段小程序。通過這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為加載內(nèi)核做準備。 常見的bootloader有Grub、Lilo和spfdisk

4、 加載linux內(nèi)核映像

用戶選擇要加載的內(nèi)核之后,次引導(dǎo)加載程序(GRUB)就會根據(jù)/boot/grub.conf配置文件中所設(shè)置的信息,從/boot/所在的分區(qū)上讀取Linux內(nèi)核映像,然后把內(nèi)核映像加載到內(nèi)存中并把控制權(quán)交給Linux內(nèi)核。

linux內(nèi)核獲得控制權(quán)之后開始干自己的事

(1) 檢測硬件

(2) 解壓縮自己并安裝必要驅(qū)動

(3) 初始化與文件系統(tǒng)相關(guān)的虛擬設(shè)備

(4) 裝載根文件系統(tǒng),掛在根目錄下面

(5)

完成之后,linux在進程空間里面加載init程序,下面輪到init干活 5、 init進程

init是所有進程的發(fā)起者和控制者,所有的進程都由此衍生。

init進程獲得控制權(quán)之后,它會執(zhí)行/etc/rc.d/rc.sysinit腳本,根據(jù)里面的代碼設(shè)置環(huán)境變量、網(wǎng)絡(luò)、啟動swap、檢查并掛載文件系統(tǒng)、執(zhí)行其他初始化工作。

6、自定制啟動程序 /etc/rc.local rc.local就是在一切初始化工作后,Linux留給用戶進行自己定制開機啟動的地方。你可以把你想設(shè)置和啟動的東西放到這里。

7、執(zhí)行/bin/login程序,進入登錄狀態(tài)

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。互聯(lián)網(wǎng)+時代,時刻要保持學(xué)習(xí),攜手千鋒PHP,Dream It Possible。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我們都知道,由于linux的穩(wěn)定性,通常被作為服務(wù)器系統(tǒng),要想稱為一個PHP的高手,linux是必修之課。那么li...
    李勁輝閱讀 135評論 0 0
  • 我們都知道,由于linux的穩(wěn)定性,通常被作為服務(wù)器系統(tǒng),要想稱為一個PHP的高手,linux是必修之課。...
    悠悠君子閱讀 162評論 0 0
  • 我們都知道,由于linux的穩(wěn)定性,通常被作為服務(wù)器系統(tǒng),要想稱為一個PHP的高手,linux是必修之課。那么li...
    php紅薯閱讀 276評論 0 0
  • 1、 BIOS加電自檢 BIOS是英文"Basic Input Output System"的縮略詞 其實,它是一...
    名真好取閱讀 196評論 0 0
  • 轉(zhuǎn)載 BIOS加電自檢 BIOS是英文"Basic Input Output System"的縮略詞 其實,它是一...
    ifeelok0319閱讀 182評論 0 0

友情鏈接更多精彩內(nèi)容