九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
計(jì)算機(jī)啟動過程

介紹

操作系統(tǒng)老師說,平時面試學(xué)生或者畢業(yè)答辯的時候他都會問這個問題,可見這個問題對于計(jì)算機(jī)專業(yè)的學(xué)生來說是如此重要。那么,從打開計(jì)算機(jī)電源到計(jì)算機(jī)的屏幕顯示,中間經(jīng)歷了哪些過程呢?

啟動的英文是boot,來自于一個諺語

pull oneself up by one's bootstraps

通過拉自己的鞋帶把自己拽起

這個很明顯是矛盾的。工程師早期用這句諺語用來比喻早期的計(jì)算機(jī)開機(jī), 因?yàn)橛?jì)算機(jī)啟動需要運(yùn)行程序,而運(yùn)行程序又需要計(jì)算機(jī)啟動。這個是一個很矛盾的過程。直到后來開機(jī)程序被刷入ROM芯片后,這個開機(jī)的boot

大概過程是這樣的:

  1. Turn on
  2. CPU jump to physical address of BIOS(In Intel it is 0xFFFF0)
  3. BIOS runs POST(Power-On Self Test)
  4. Find bootable devices
  5. Loads boot sector from MBR
  6. BIOS yields control to OS BootLoader

1. BIOS

BIOS介紹:

BIOS(Basic Input/Output System)是基本輸入輸出系統(tǒng)的簡稱。BIOS 能為電腦提供最低級、最直接的硬件控制與支持,是聯(lián)系最底層的硬件系統(tǒng)和軟件系統(tǒng)的橋梁。為了在關(guān)機(jī)后使 BIOS 不會丟失,早期的 BIOS 存儲在 ROM 中,并且其大小不會超過 64KB;而目前的 BIOS 大多有 1MB 到 2MB,所以會被存儲在 閃存(Flash Memory)中。

BIOS 設(shè)置程序是被固化到電腦主板上地 ROM 芯片中的一組程序,其主要功能是為電腦提供最底層的、最直接的硬件設(shè)置和控制。 BIOS 通常與 硬件系統(tǒng)集成在一起(在計(jì)算機(jī)主板的 ROM 或EEPROM 中),所以也被稱為 固件

如何運(yùn)行

BIOS存放在一個斷電后不會丟失內(nèi)容的ROM中,這保證了“拽著鞋帶拉起自己”的這種情況不會發(fā)生。因?yàn)橄到y(tǒng)一上電或重置,處理器要執(zhí)行第一條指令的地址會被定位到BIOS存儲器,初始化開始運(yùn)行。在X86系統(tǒng)中,CPU加電后跳轉(zhuǎn)至BIOS的固定物理地址0xFFFF0。 打開計(jì)算機(jī)電源,計(jì)算機(jī)會首先加載BIOS,包含

CPU相關(guān)信息設(shè)備啟動順序信息硬盤信息內(nèi)存信息時鐘信息PhP特性...

硬件自檢(Power-On Self Test,POST) 如果硬件出現(xiàn)問題,主板會發(fā)出不同含義的蜂鳴 ,啟動中止。如果沒有問題,屏幕就會顯示出CPU 、內(nèi)存、硬盤等信息。BIOS在執(zhí)行完硬件自檢和初始化后,會將自己復(fù)制到從 0xA0000 開始的物理內(nèi)存中并繼續(xù)執(zhí)行。

BIOS 代碼包含診斷功能,以保證某些重要硬件組件,像是鍵盤、磁盤設(shè)備、輸出輸入端口等等,可以正常運(yùn)作且正確地初始化。

BIOS產(chǎn)生的問題

  1. 開發(fā)效率低:大部分BIOS代碼使用匯編開發(fā),開發(fā)效率不言而喻。匯編開發(fā)的另一個缺點(diǎn)是使得代碼與設(shè)備的耦合程度太高,代碼受硬件變化的影響大。
  2. 性能差:BIOS基本輸入/輸出服務(wù)需要通過中斷來完成,開銷大,并且BIOS沒有提供異步工作模式,大量的時間消耗在等待上。
  3. 功能擴(kuò)展性差,升級緩慢:BIOS代碼采用靜態(tài)鏈接,增加硬件功能時,必須將16位代碼放置在0x0C0000~0x0DFFFF區(qū)間,初始化時將其設(shè)置為約定的中斷處理程序。而且BIOS沒有提供動態(tài)加載設(shè)備驅(qū)動的方案。
  4. 安全性:BIOS運(yùn)行過程中對可執(zhí)行代碼沒有安全方面的考慮。
  5. 不支持從硬盤2TB以上的地址引導(dǎo):受限于BIOS硬盤的尋址方式,BIOS硬盤采用32位地址,因而引導(dǎo)扇區(qū)的最大邏輯塊地址是232(換算成字節(jié)地址,即232×512=2TB)

由于這些問題的存在,UEFI橫空出世

UEFI中文名為統(tǒng)一可擴(kuò)展固件界面(英語:Unified Extensible Firmware Interface,縮寫UEFI)是一種個人電腦系統(tǒng)規(guī)格,用來定義操作系統(tǒng)與系統(tǒng)硬件之間的軟件界面,作為BIOS的替代方案??蓴U(kuò)展固件接口負(fù)責(zé)加電自檢(POST),聯(lián)系操作系統(tǒng)以及提供連接作業(yè)系統(tǒng)與硬體的介面。

UEFI與BIOS的幾個區(qū)別

  1. EFI使用模塊化、C語言風(fēng)格的參數(shù)堆棧傳遞方式以及動態(tài)鏈接形式構(gòu)建的系統(tǒng),相對于BIOS而言跟容易實(shí)現(xiàn),容錯和糾錯特性更強(qiáng),減少系統(tǒng)研發(fā)的時間。
  2. 運(yùn)行于32位或64位模式,面對未來增強(qiáng)的處理器模式下,能突破BIOS 16位代碼的尋址能力,達(dá)到處理器最大尋址。
  3. UEFI有良好的鼠標(biāo)操控圖形化界面,在開機(jī)速度也比BIOS快不少

BIOS過程

UEFI過程

相對來說UEFI比BIOS少了一個硬件檢測

即使如此,本章啟動過程還是著重于分析利用BIOS啟動的過程。

2.讀取MBR

MBR-全稱是Master Boot Record(主引導(dǎo)記錄或主開機(jī)記錄),是一個512byte的扇區(qū),位于磁盤的固定位置。之所以叫“主引導(dǎo)記錄”,是因?yàn)槠浯嬖谟隍?qū)動器開始部分的一個特殊扇區(qū),個扇區(qū)包含已安裝的操作系統(tǒng)啟動記載器和驅(qū)動器的邏輯分區(qū)信息。BIOS完成POST和初始化之后,會根據(jù)CMOS中設(shè)定的順序選擇引導(dǎo)的設(shè)備,這個設(shè)備可以是U盤可以是硬盤。若設(shè)置為硬盤,則BIOS就會讀取MBR。MBR里面包含了一段引導(dǎo)程序,一個分區(qū)表和Magic Number。

MBR的結(jié)構(gòu)

位置作用1-445字節(jié)調(diào)用操作系統(tǒng)的機(jī)器碼(Call OS)447-510字節(jié)分區(qū)表(Partition table)511-512字節(jié)主引導(dǎo)記錄簽名(只有兩個,0x55和0xAA,為Magic Number),如果不是這兩個幻數(shù),就認(rèn)為這是一個沒有被分區(qū)的硬盤。

分區(qū)表的長度只有64個字節(jié),里面分為四項(xiàng),每項(xiàng)為16個字節(jié)。所以一個硬盤只可以分四個一級分區(qū),又叫做“主分區(qū)”。每個主分區(qū)的16個字節(jié),結(jié)構(gòu)如下

位置(字節(jié))作用1如果第一個為0x80,表示該主分區(qū)是激活分區(qū)(active),控制權(quán)將轉(zhuǎn)交給此分區(qū)。幾個分區(qū)中只能有一個是激活分區(qū),其他都是非激活分區(qū)(inactive)。2-4主分區(qū)的第一個扇區(qū)物理位置(柱面、磁頭、扇區(qū)號等)5主分區(qū)的類型 分區(qū)類型符6-8主分區(qū)最后一個扇區(qū)的物理位置9-12主分區(qū)第一個扇區(qū)的邏輯位置13-16主分區(qū)的扇區(qū)總數(shù),決定了主分區(qū)的長度

其中第5字節(jié)分區(qū)類型符,有如下特定符

00H H —— 表示該分區(qū)未用 ( 即沒有指定 ) ;

06H H —— FAT 16 基本分區(qū);

0 0 BH —— FAT 32 基本分區(qū);

05H H —— 擴(kuò)展分區(qū);

07H H —— NTFS 分區(qū);

0 0 FH —— ( LBA 模式 ) 擴(kuò)展分區(qū) (83H H 為 Linux)

分出主分區(qū)后,其余的部分可以分成擴(kuò)展分區(qū),一般是剩下的部分全部分成擴(kuò)展分區(qū),也可以不全分,剩下的部分就浪費(fèi)了。擴(kuò)展分區(qū)不能直接使用,必須分成若干邏輯分區(qū)。所有的邏輯分區(qū)都是擴(kuò)展分區(qū)的一 部分 。

硬盤的容量 = 主分區(qū)的容量 + 擴(kuò)展分區(qū)的容量擴(kuò)展分區(qū)的容量 = 各個邏輯分區(qū)的容量之和

3.啟動Boot Loader

**Linux的Boot的過程 **

Boot Loader

又叫做 操作系統(tǒng)內(nèi)核加載器(OS kernel loader),一個在kernel運(yùn)行前運(yùn)行的一段小程序,通過這段程序可以初始化硬件設(shè)備,建立內(nèi)存空間的映射,將系統(tǒng)軟硬件環(huán)境帶到一個合適的狀態(tài),便于未來調(diào)用操作系統(tǒng)內(nèi)核。

Linux下引導(dǎo)加載程序常見兩種LILO和GNU GRUB

LILOGRUB無交互命令界面有交互命令界面不支持網(wǎng)絡(luò)引導(dǎo)支持錯誤配置MBR會讓系統(tǒng)無法引導(dǎo)如果配置文件錯誤,則默認(rèn)跳轉(zhuǎn)到GRUB命令行界面

GRUB 磁盤引導(dǎo)的過程如下

- stage1: grub 讀取磁盤第一個 512 字節(jié)(硬盤的0道0 面1扇區(qū),被稱為 MBR (主引導(dǎo)記錄), 也稱為bootsect )。 MBR 由一部分 bootloader 的引導(dǎo)代碼、分區(qū)表和魔數(shù)三部分組成。( 啟動的第二步 )- Stage1.5: 識別各種不同的文件系統(tǒng)格式。這使得 grub 識別到文件系統(tǒng)。- stage2: 加載系統(tǒng)引導(dǎo)菜單 (/boot/grub/ menu.lst或 grub.lst) ) ,加載內(nèi)核映像 (kernel image) 和 RAM磁盤 initrd (可選)。

運(yùn)行主引導(dǎo)程序的具體過程

BIOS將硬盤主引導(dǎo)記錄讀入7C00處,并將控制權(quán)交給主引導(dǎo)程序:

  1. 檢查0x7dfe地址處是否等于0xaa55。不是則去其他介質(zhì);如果沒有啟動的介質(zhì),顯示“No ROME BASIC”并死機(jī)。
  2. 成功找到介質(zhì),跳轉(zhuǎn)到0X7C00執(zhí)行MBR的程序
  3. 將自己復(fù)制到0x0600處且繼續(xù)執(zhí)行
  4. 主分區(qū)表中搜索標(biāo)志為激活的分區(qū),如果發(fā)現(xiàn)沒有激活分區(qū)或者不止一個激活分區(qū)則停止。
  5. 將激活分區(qū)的第一個扇區(qū)讀入內(nèi)存地址0x7c00
  6. 再次檢查位于地址0x7dfe的內(nèi)容是否等于0xaa55,若不等則停止并嘗試軟盤啟動
  7. 跳轉(zhuǎn)到0x7c00繼續(xù)執(zhí)行特定系統(tǒng)的啟動程序

補(bǔ)充:MBR和引導(dǎo)扇區(qū)的關(guān)系

  • MBR存放的位置是整個硬盤的第一個扇區(qū)
  • Boot Sector是硬盤上每一個分區(qū)的第一個扇區(qū)

4. 加載kernel

主要有兩個步驟:

  • 根據(jù) grub 設(shè)定的內(nèi)核映像所在路徑 ,系統(tǒng)讀取內(nèi)存映像 ,并進(jìn)行解壓縮操 作 。
  • 系統(tǒng)將解壓后的內(nèi)核放置在內(nèi)存之中, 初始化函數(shù)并初始化各種設(shè)備 , 完 成 Linux 核心環(huán)境的建立 。

以Linux系統(tǒng)為例,先載入/boot目錄下面的kernel。

內(nèi)核加載成功后,第一個運(yùn)行的程序是/sbin/init。它根據(jù)配置文件(Debian系統(tǒng)是/etc/initab)產(chǎn)生init進(jìn)程。這是Linux啟動后的第一個進(jìn)程,pid進(jìn)程編號為1,其他進(jìn)程都是它的后代。

然后,init線程加載系統(tǒng)的各個模塊,比如窗口程序和網(wǎng)絡(luò)程序,直至執(zhí)行/bin/login程序,跳出登錄界面,等待用戶輸入username和password。

至此,全部啟動過程完成。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
UEFI主板GPT方式安裝CentOS 6.4
有道云筆記
MBR和UEFI啟動引導(dǎo)及多系統(tǒng)引導(dǎo)程序xorboot
「計(jì)算機(jī)基礎(chǔ)」教你認(rèn)識主板上的芯片之 BIOS 芯片
BIOS啟動模式階段詳解
linux系統(tǒng)啟動過程詳解
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服