計算機(jī)啟動過程

計算機(jī)的啟動過程是一個復(fù)雜的過程,我們根據(jù)計算機(jī)的控制權(quán)在哪一部分手上沪伙,可以把這一過程劃分為以下四個階段:

BIOS→主引導(dǎo)記錄→Boot Loader→操作系統(tǒng)運(yùn)行

一、BIOS

當(dāng)電源開關(guān)啟動后垛贤,主板會通電并初始化固件(即芯片集等)焰坪,而BIOS(Basic Input Output System 基本輸入輸出系統(tǒng))的運(yùn)行代碼則早已被刷入集成在主板的ROM芯片中趣倾。

通電后會嘗試運(yùn)行CPU聘惦,如果CPU運(yùn)行不正常,則計算機(jī)會處于完全死機(jī)狀態(tài)儒恋,同時主板會發(fā)出蜂鳴聲善绎。

初始化CPU寄存器,比如初始化指令指針I(yè)P和代碼寄存器CS诫尽;他們的初始化的值將CPU執(zhí)行的第一條指令定位到BIOS的啟動代碼部分

倘若計算機(jī)為多處理器或者是多核處理器時禀酱,將會動態(tài)的選擇自引導(dǎo)處理器(BSP)。除了BSP外牧嫉,剩下的處理器叫做應(yīng)用處理器(AP)剂跟。AP將會停止運(yùn)行直到他們被內(nèi)核喚醒激活。

CPU從地址FFFF:0000H處(即復(fù)位向量)開始執(zhí)行指令(CS的初始值為0FFFFH酣藻,IP的初始值為0000H)曹洽,這是一條跳轉(zhuǎn)指令,跳到BIOS的啟動代碼處并啟動BIOS辽剧。

BIOS初始化硬件設(shè)備

在BIOS中包含有自診斷程序等程序送淆,而啟動了BIOS后,BIOS首先檢查計算機(jī)的硬件能否滿足運(yùn)行的基本要求怕轿,即啟動硬件自檢(Power-On Self-Test POST)偷崩。此時計算機(jī)會先檢測顯卡是否有問題,若出現(xiàn)問題則停止BIOS同時發(fā)出蜂鳴聲警報并死機(jī)撞羽。檢測完顯卡后到其他的設(shè)備阐斜,此時會根據(jù)檢測結(jié)果在顯示器上顯示硬件設(shè)備的信息或錯誤信息。

二诀紊、主引導(dǎo)記錄

計算機(jī)中可能存在有許多個存儲設(shè)備智听,諸如硬盤、可移動硬盤、U盤等等到推,這些設(shè)備按用戶預(yù)先設(shè)置好的優(yōu)先級安排一個“啟動順序”考赛。BIOS則根據(jù)這個順序將計算機(jī)的控制權(quán)交給排在第一位的存儲設(shè)備

該設(shè)備的第一個扇區(qū)(即該設(shè)備最前面的512個字節(jié))莉测,也叫做主引導(dǎo)記錄MBR(Master boot record )或引導(dǎo)扇區(qū)颜骤。引導(dǎo)加載程序(Boot Loader)的代碼便存在這個扇區(qū)里面。

主引導(dǎo)記錄的主要作用是告訴計算機(jī)到該存儲設(shè)備的哪一個位置去找操作系統(tǒng)捣卤。

我們知道硬盤可以進(jìn)行分區(qū)忍抽,而不同的分區(qū)可以安裝不同的操作系統(tǒng),這樣我們就必須要讓主引導(dǎo)記錄知道要將控制權(quán)交個哪一個分區(qū)董朝。主引導(dǎo)記錄中的第447-510字節(jié)存儲的就是該存儲設(shè)備的分區(qū)表鸠项,總長度為64字節(jié)。一個硬盤只能分成四個一級分區(qū)(主分區(qū))子姜,每個主分區(qū)的信息需要占用16個字節(jié)祟绊。這16個字節(jié)中的第一個字節(jié)表示該分區(qū)是否為激活分區(qū),若該字節(jié)為0x80則代表該分區(qū)為激活分區(qū)哥捕,要將控制權(quán)交給這個分區(qū)牧抽,因此四個主分區(qū)里面只能有一個是激活的。

排在第一位的存儲設(shè)備得到控制權(quán)后遥赚,計算機(jī)會讀取該設(shè)備的第一個扇區(qū)(即主引導(dǎo)記錄)扬舒,倘若該扇區(qū)最后兩個字節(jié)為0x55和0xAA則表明這個設(shè)備可以用于啟動;否則將控制權(quán)交個“啟動順序”中的下一個設(shè)備凫佛。

將主引導(dǎo)記錄的內(nèi)容加載到內(nèi)存位置0 x7c00并跳轉(zhuǎn)到該位置以開始執(zhí)行MBR中的代碼讲坎,即運(yùn)行主引導(dǎo)加載程序

將控制權(quán)交給主引導(dǎo)加載程序

三、Boot Loader

主引導(dǎo)加載程序在執(zhí)行時需要把計算機(jī)的控制權(quán)交給存儲設(shè)備的某個分區(qū)愧薛,好讓計算機(jī)從該分區(qū)啟動操作系統(tǒng)晨炕,那具體計算機(jī)是怎么知道要交個哪個分區(qū)呢?這里分為3種啟動情況

  1. 卷引導(dǎo)記錄(Volume boot record VBR)

    因為四個主分區(qū)里面厚满,只有一個是激活分區(qū)府瞄,所以該情況下計算機(jī)會讀取激活分區(qū)的第一扇區(qū),判斷該分區(qū)是激活的之后就相當(dāng)于告訴計算機(jī)碘箍,操作系統(tǒng)在這個分區(qū)里面了遵馆。

  2. 擴(kuò)展分區(qū)和邏輯分區(qū)

    “擴(kuò)展分區(qū)”指這個分區(qū)里面又分成多個區(qū),這種分區(qū)里面的分區(qū)就叫做“邏輯分區(qū)”丰榴。計算機(jī)通過讀取“擴(kuò)展分區(qū)”的第一個扇區(qū)(即“擴(kuò)展引導(dǎo)記錄”)货邓,該扇區(qū)中也有一張64字節(jié)的分區(qū)表,但最多只有兩項(即兩個邏輯分區(qū))四濒。接著讀取邏輯分區(qū)的第一個扇區(qū)换况,再從里面找到下一個邏輯分區(qū)的位置职辨。如此下去,擴(kuò)展分區(qū)可以包含無數(shù)個邏輯分區(qū)戈二。

  3. 啟動管理器

    計算器讀取“主引導(dǎo)記錄”的前446字節(jié)的機(jī)器碼之后舒裤,不把控制權(quán)交個某一個分區(qū),而是運(yùn)行“啟動管理器”(boot loader)觉吭,然后由用戶選擇啟動哪一個操作系統(tǒng)

找到激活分區(qū)后腾供,加載該分區(qū)的引導(dǎo)扇區(qū),然后運(yùn)行該代碼

分區(qū)引導(dǎo)扇區(qū)完成的工作包括:引導(dǎo)加載程序?qū)⑻幚砥鲝膶嵞J角袚Q到32位保護(hù)模式鲜滩、從硬盤讀取內(nèi)核

四伴鳖、操作系統(tǒng)運(yùn)行

操作系統(tǒng)的內(nèi)核載入內(nèi)存

此后,不同的操作系統(tǒng)會有不同的動作徙硅,但主要還是包含以下幾個方面:

加載底層設(shè)備驅(qū)動程序和所需要的服務(wù)

初始化內(nèi)核

啟用登錄程序

五榜聂、順序流程圖

計算機(jī)如何啟動.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市嗓蘑,隨后出現(xiàn)的幾起案子须肆,更是在濱河造成了極大的恐慌,老刑警劉巖脐往,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件休吠,死亡現(xiàn)場離奇詭異扳埂,居然都是意外死亡业簿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進(jìn)店門阳懂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來梅尤,“玉大人,你說我怎么就攤上這事岩调∠镌铮” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵号枕,是天一觀的道長缰揪。 經(jīng)常有香客問我,道長葱淳,這世上最難降的妖魔是什么钝腺? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮赞厕,結(jié)果婚禮上艳狐,老公的妹妹穿的比我還像新娘。我一直安慰自己皿桑,他們只是感情好毫目,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布蔬啡。 她就那樣靜靜地躺著,像睡著了一般镀虐。 火紅的嫁衣襯著肌膚如雪箱蟆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天刮便,我揣著相機(jī)與錄音顽腾,去河邊找鬼。 笑死诺核,一個胖子當(dāng)著我的面吹牛抄肖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窖杀,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼漓摩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了入客?” 一聲冷哼從身側(cè)響起管毙,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎桌硫,沒想到半個月后夭咬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡铆隘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年卓舵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膀钠。...
    茶點(diǎn)故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡掏湾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肿嘲,到底是詐尸還是另有隱情融击,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布雳窟,位于F島的核電站尊浪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏封救。R本人自食惡果不足惜拇涤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望兴泥。 院中可真熱鬧工育,春花似錦、人聲如沸搓彻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至怔接,卻和暖如春搪泳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扼脐。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工岸军, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瓦侮。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓艰赞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肚吏。 傳聞我的和親對象是個殘疾皇子方妖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 前一篇文章描述了Intel x86計算機(jī)主板和內(nèi)存映射圖,現(xiàn)在我們來解說一下計算機(jī)啟動的幾個階段罚攀。下面是一個簡單圖...
    Nuk閱讀 1,660評論 1 7
  • CPU 中有一塊雙親板(母版)党觅,雙親板中有個稱為 BIOS(標(biāo)準(zhǔn)輸入輸出系統(tǒng) Basic Input Output...
    StackFing閱讀 348評論 0 0
  • BIOS 以intel8086為例,8086有20根地址線斋泄。一共可以訪問到0x00000 - 0xFFFFF的地址...
    ffusheng閱讀 395評論 0 0
  • 轉(zhuǎn)載聲明:本文雖然不是本人100%原創(chuàng)杯瞻,但也是辛辛苦苦整理的,可以轉(zhuǎn)載炫掐,但請注明出處 這篇文章是關(guān)于折騰Windo...
    SOMCENT閱讀 8,007評論 3 37
  • 第一階段:BIOS 上個世紀(jì)70年代初魁莉,“只讀內(nèi)存”(read-only memory,縮寫為ROM)發(fā)明卒废,開機(jī)程...
    cosWriter閱讀 1,863評論 0 3