中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
BIOS、UEFI、Boot Loader都是些什么

什么是BIOS

Basic Input Output System (基本輸入輸出系統(tǒng))

其實就是一組保存著計算機最重要的 基本輸入輸出的程序 、 開機后自檢程序 、 系統(tǒng)自啟動程序 , 并固化到計算機內(nèi)主板上的一個ROM芯片上的程序

基本的輸入輸出是什么

BIOS的終極目標:

“BIOS的最主要的功能:初始化硬件平臺和提供硬件的軟件抽象,引導操作系統(tǒng)啟動?!?/span>

所以:

輸入的是:硬件平臺的信息

輸出的是:硬件的軟件抽象

然后將引導文件加載至內(nèi)存引導操作系統(tǒng)啟動

自檢程序“檢”了什么

每個硬件平臺都需要發(fā)現(xiàn)IO總線,因為數(shù)據(jù)的傳輸離不開總線。

所謂的系統(tǒng)自檢,就是 Power On Self Test ,也就是圖中的 POST 過程。在傳統(tǒng) BIOS 的上電階段,通過 IO 枚舉發(fā)現(xiàn)總線,進入到標準描述的平臺接口部分。

系統(tǒng)自啟動了什么

自啟動了操作系統(tǒng)呀~畢竟按下電源只是啟動了 BIOS 程序。

此外,在傳統(tǒng) BIOS 程序中,還不支持文件系統(tǒng),不像上圖的 Dell 主板,可以手動的添加引導文件,在傳統(tǒng) BIOS 啟動之后, BIOS 會自動加載 MBR 的主引導記錄,使操作系統(tǒng)“自行啟動”

所以我們再看什么是 BIOS ?

輸入:圍繞上圖進行展開,左邊部分剛好是硬件的初始化: CPU 初始化、內(nèi)存初始化……相當于是上面說的,輸入的硬件平臺信息。

自檢:再經(jīng)過中間部分的系統(tǒng)自檢,控制臺初始化、設備初始化、通過枚舉發(fā)現(xiàn)總線并初始化。

輸出&自啟動:選擇引導設備之后,通過 BIOS 將硬件平臺的軟件接口提供給 OS Loader ,以供操作系統(tǒng)運行使用。

BIOS 的脈絡就稍微有一些清楚了吧。

什么是UEFI BIOS

Unified Extensible Firmware Interface(統(tǒng)一可擴展固件接口)

由于安藤處理器芯片組的創(chuàng)新,64位架構(gòu)的處理器已經(jīng)不再適用傳統(tǒng)BIOS的16位運行模式,英特爾將系統(tǒng)固件和操作系統(tǒng)之間的接口完全重新定義為一個可擴展的,標準化的固件接口規(guī)范。

UEFI 名字聽起來和 BIOS 相差較大,但是作為業(yè)界的新 BIOS —— UEFI BIOS ,畢竟還是 BIOS ,所以它的主要目標就還是—— 初始化硬件,提供硬件的軟件抽象,并引導操作系統(tǒng)啟動

UEFI和BIOS的區(qū)別

效率方面: BIOS 正是因為其閉源、接口混亂才導致其最終不適用于新架構(gòu)的芯片,那時候剛好趕上開源的浪潮, UEFI 開源且使用規(guī)定的標準接口,通過提供接口,也將大部分代碼移步到了 C 代碼,大大降低了開發(fā)難度,這也是其快速發(fā)展的根本原因。

性能方面: UEFI 舍棄了硬件外部中斷的低效方式,只保留了時鐘中斷,通過異步+事件來實現(xiàn)對外部設備的操作,性能因此得到極大的釋放。

擴展性和兼容性:由于規(guī)范的模塊化設計,在擴展功能時只需要動態(tài)鏈接其模塊即可,擴展十分方便。而且傳統(tǒng) BIOS 必須運行在 16 位的指令模式下,尋址范圍也十分有限,而 UEFI BIOS 支持64位的程序,兼容 32 位,這也是為什么 Windows XP 這么久了,稍微改改還可以安裝在新設備上。

安全性: UEFI 安裝的驅(qū)動設備需要經(jīng)過簽名驗證才可以,通過一定的加密機制進行驗證,其安全性也非常的高。

其他:傳統(tǒng) BIOS 只支持容量不超過 2TB 的驅(qū)動器,原因是:按照常見的 512Byte 扇區(qū),其分區(qū)表的單個分區(qū)的第 13-16 字節(jié)用來進行 LBA 尋址,也就是以扇區(qū)為單位進行尋址。

13-16 總共 4 個字節(jié), 1Byte=8bit ,這樣也就是 4*8=32 位,總共就是 2^32 個單位空間,以扇區(qū)為單位進行尋址,也就是每次 512Byte ,也就是:

232?512=241B=231KB=221MB=211GB=2TB232?512=241B=231KB=221MB=211GB=2TB

所以傳統(tǒng) BIOS 支持的最大容量的驅(qū)動器,不超過 2TB 。以硬件廠商 1000:1024 的計算方式,也就是 2.2TB

241B/1000,000,000,000=2.2TB241B/1000,000,000,000=2.2TB

那么 UEFI 支持多大的呢?

采用類似的分區(qū)表,具體可以看[參考文章]。

UEFI 支持 64 位的地址空間,所以其尋址偏移恰好為一個機器長度—— 64 位,即 8Byte ,還是按照 LBA 尋址方式,按照上述計算:

264?512=273B=213EB=8ZB264?512=273B=213EB=8ZB

但是微軟關方和一些其他資料都顯示是 18EB (按照硬件廠商 1000:1024 計算):

264B/1060=18EB264B/1060=18EB

所以可以對微軟官網(wǎng)的數(shù)據(jù) 證偽

由于現(xiàn)在又由 8512Byte 扇區(qū)偽裝一下,發(fā)展成了 4k 大小的扇區(qū),所以上述計算還可以再乘 8 ,即 GPT 最大分區(qū)容量可以是 64ZB ,而當前整個萬維網(wǎng)的大小也不過 1ZB

GPT分區(qū)的結(jié)構(gòu)

既然說到了 GPT 分區(qū)的大小問題,那就順便稍微說一說它的結(jié)構(gòu)吧,如上圖:

PMBRProtective MBR ,就是當作 MBR 用,位置在 LBA0 ,如果是傳統(tǒng)引導,就從這個地方尋找引導文件,如果是 UEFI 引導,再從后面的 GPT HDR 尋找, GPT HDRGPT 表頭 ,位置在 LBA1 ,記錄其他表項的位置;

LBA2-LBA33 總共 32 個分區(qū)表,記錄對應分區(qū)的信息,比如起始地址和結(jié)束地址等,每個分區(qū)的信息用 128Byte 記錄,也叫做 分區(qū)表項 ,比較有意思的一點是,由于 Windows 只允許最多 128 個分區(qū),所以 GPT 一般 也就只設 32 個分區(qū)表。那這是為什么呢?

前面介紹,一個扇區(qū)一般是 512Byte ,按照微軟的設定來, 128 個分區(qū),也就需要 128 個分區(qū)表項來記錄,一個分區(qū)表項 128Byte ,也就是總共

128?128=27?27=214128?128=27?27=214

32512Byte 大小的扇區(qū),是不是剛好:

32?512=25?29=21432?512=25?29=214

這里可能只做了解即可。

至于后面的藍色區(qū)域,對應之后, LBA-1GPT HDR 的備份表, LBA-2 - LBA-33 是分區(qū)表的備份表,如果前面的數(shù)據(jù)發(fā)生錯誤,就從后面恢復就好啦~

中間的 LBA34-LBA-34 也就是除去表頭、表項和備份表等信息的 分區(qū) 內(nèi)容啦

UEFI與硬件初始化

UEFI 純粹地是一個接口規(guī)范

它不會具體涉及平臺固件是如何實現(xiàn)的

UEFI 建立在被稱為平臺初始化( Platform Initialization ,簡稱 PI )標準的框架之上。

PI 是關于 UEFI 具體如何實現(xiàn)的規(guī)范

SEC 安全驗證,初始化 cpucpu 內(nèi)部資源,使 cache 作為 ram 提供堆棧運行C代碼( CAR —— Cache As Ram

PEI 階段初始化內(nèi)存,并將需要傳遞的信息傳遞給 DXE

DXE 驅(qū)動執(zhí)行環(huán)境,內(nèi)存已經(jīng)可以完全被使用,初始化核心芯片,并將控制權(quán)轉(zhuǎn)交給 UEFI 接口

BDS 引導設備選擇,負責初始化所有啟動 OS 所需的設備,負責執(zhí)行所有符合 UEFI 驅(qū)動模型的驅(qū)動。

選擇完引導設備,就加載 OS loader 運行 OS

OS 啟動后,系統(tǒng)的控制權(quán)從UEFI轉(zhuǎn)交給 OS loader , UEFI 占用的資源被回收到 OS loader ,只保留 UEFI 運行是服務。

其實再統(tǒng)觀一下上面的流程,是不是就變成了: 基本輸入>>> PI >>> UEFI >>>基本輸出

這個過程是不是又像 BIOS 了?畢竟 UEFI 還是用作 BIOS 的。

如果還是覺得 UEFIBIOS 是兩回事,那么可以換種解讀:

Rom Stage :一開始運行在 Rom 中,初始化 Cache 作為 Ram 運行,從而有了初步的 C 環(huán)境,運行 C 代碼。

Ram Stage :初始化一定的硬件之后, BIOS 程序進入到 Ram 中,繼續(xù)初始化芯片組、主板等硬件。

Find something to boot :最后找到啟動設備,把控制權(quán)交給操作系統(tǒng)內(nèi)核,開始操作系統(tǒng)的時代。

什么是Boot Loader

Boot Loader 是在操作系統(tǒng)內(nèi)核運行前執(zhí)行的一小段程序 ,執(zhí)行的工作聽起來和 BIOS 很像:初始化硬件,和引導系統(tǒng),相當于 UEFI 啟動過程中的 PEI 初始化硬件、 DXE 識別啟動設備, BDS 把權(quán)限交給啟動加載器,引導內(nèi)核。

對比一下 UEFIBoot Loader 的啟動方式:

再分析 Boot Loader 的啟動過程:

首先硬件設備初始化。為加載 Boot Loaderstage2 準備 RAM 空間??截?Boot Loaderstage2RAM 空間中。設置好堆棧。跳轉(zhuǎn)到 stage2C 入口點。

初始化本階段要使用到的硬件設備。檢測系統(tǒng)內(nèi)存映射( memory map )。將 kernel 映像和根文件系統(tǒng)映像從 flash 上讀到 RAM 空間中。為內(nèi)核設置啟動參數(shù)。調(diào)用內(nèi)核。

PS:有的Boot Loader可能只有一個過程,上述為兩個階段的類型。

幾個問題:

  1. BIOS 為什么固化到 ROM 芯片上?因為掉電不丟失
  2. 只讀存儲器的話,又不能作修改,還有界面干什么?要作修改,修改內(nèi)容在 CMOS
  3. 現(xiàn)在的 BIOS 固化到哪了?ROM -> PROM -> EPROM -> EEPROM -> FLASH 。一開始是在 ROM 上,但是只能檢驗,不能修改,十分的不方便,所以就轉(zhuǎn)到了 PROMPROM 可編程 ROM ,但是寫入后也不能改,然后就是 EPROM ,可擦除可編程 ROM ,但是人們又覺得不方便,于是又有了 EEPROM ,電可擦除可編程 ROM ,而且雙電壓可防毒。Flash 閃存,更方便,只要用專用程序即可修改,

bios

為什么要有BIOS?BIOS那些惱人的小問題集錦(一)

UEFI與硬件初始化

統(tǒng)一可擴展固件接口

UEFI背后的歷史

UEFI和BIOS的區(qū)別優(yōu)缺點詳解

MBR分區(qū)表為什么最大只能識別2TB硬盤容量

MBR為什么最大只能用2TB

UEFI和UEFI論壇

筆記三(UEFI詳解)

UEFI 引導與 傳統(tǒng)BIOS 引導在原理上有什么區(qū)別?芯片公司在其中扮演什么角色?

一個UEFI引導程序的實現(xiàn)

ROM、PROM、EPROM、EEPROM、RAM、SRAM、DRAM的區(qū)別

Windows and GPT FAQ

GUID Partition Table (GPT)

GPT磁盤分區(qū)的結(jié)構(gòu)原理

《gpt_white_paper_1_1》

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
UEFI boot 和 Legacy boot 區(qū)別_遠離文明_百度空間
細說裝機的武功秘笈,深入剖析(Legacy BIOS和UEFI)
請抓緊,免費升級 Windows 10 最后的機會要到了
輕松3TB無壓力!大硬盤分區(qū)裝機全指南
安裝win10,提示不支持UEFI固件無法安裝怎么辦?
電腦BIOS中的二種啟動模式
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服