UEFI 學習筆記

引言

相比于Windows/MacOS/Linux等主流的操作系統,大部分人對于固件BIOS(Basic Input & Output System)并不熟悉,它誕生于1981年出產的第一代個人計算機IBM PC,在那時工程師將硬件檢測代碼、最基本的外圍設備I/O處理程序和操作系統引導程序代碼寫入僅有32KB大小的PROM(Programmable ROM)中。固件BIOS隱藏在啟動界面和操作系統桌面之后,作為計算機中最底層、最核心的關鍵性部件之一,在幾十年內受到的關注并不多,網上能找到的學習資料也偏少(相對Spring、Vue這種主流技術棧),可以說入門的門檻相對其他方向來說會高一些。

  1. 固件 && BIOS

固件(Firmware)是一種底層軟件或指令序列,早期常存儲于計算機或外部設備的PROM中,常用于對硬件設備進行配置或為操作系統提供硬件操作接口,使之能夠完成指定的功能,如初始化、驅動外圍設備等。計算機系統層次架構由硬件(Hardware)、固件和軟件(Software)構成,而固件的核心就是BIOS,它介于硬件和操作系統之間,為操作系統提供最直接、最底層的硬件控制,為操作系統的引導載入和正常運行提供良好支持。BIOS是計算機的核心部件之一,計算機開機后執行的第一條指令就由BIOS發出,它擔負著最初的引導和啟動任務。在這種架構中,BIOS能為操作系統提供一定程度上的硬件抽象,使操作系統不用直接進行的硬件操作。

BIOS的主要功能如下:
(1)開機自檢:BIOS在上電時獲得計算機的控制權,檢查CPU寄存器、標志位以及控制器等工作是否正常;
(2)系統初始化:針對CPU Cache、DRAM及顯卡、PCI等設備的初始化操作,設定相應寄存器的值,驅動外圍設備;
(3)提供常駐的RS(Runtime Services):RS一般常駐在某一段系統內存中,操作系統和應用程序能通過中斷方式調用這些服務代碼;
(4)系統設置
(5)引導操作系統:按照系統設置搜索軟硬盤驅動器及CD-ROM、網絡服務器等,讀入操作系統的引導代碼,將控制權交由引導代碼
2. 關于Legacy BIOS
固件BIOS的發展大致可以Legacy BIOS和UEFI兩個階段
Legacy BIOS發展初期,行業中除了IBM的接口規格外,并沒有統一的開發規范,90年代Intel聯合其他幾家公司制定了BIOS啟動規范和

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214256.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214256.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214256.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(1)(1.4) ESP32 wifi telemetry

文章目錄 前言 1 用于ESP32的DroneBridge 2 推薦的硬件 3 下載和燒錄固件 4 為ESP32配置DroneBridge 前言 ESP32 是現成的 Wi-Fi 模塊,具有完整的 TCP/IP 協議棧和微控制器功能。它們提供專用的 UART、SPI 和 I2C 接口。它們可與任何 ArduPilot 自動駕駛控制器…

2023-12學習筆記

1.NonNull要手動寫無參構造器 這是一個我今天研究了很久的問題,開始不知道原因是在這里,還在那想是不是Data覆蓋了無參構造,結果當然不是。先說下解決歷程 1.問題起因 通過RequestBody接收前端報文的時候報錯,大致是說我構造方…

python中tkinter實現GUI程序:三個實例

python中tkinter實現GUI程序 寫在最前面Python中使用Tkinter實現GUI程序的基本元素Tkinter簡介基本元素1. 根窗口(Root Window)2. 小部件(Widgets)3. 布局管理4. 事件處理 1.用 tkinter實現一個簡單的 GUI程序,單擊“click”按鈕&…

項目方看過來,詳解Moonbeam Grants申請技巧

Grants加速計劃是Moonbeam基金會發起的生態資助計劃,旨在支持生態系統中的不同項目、社區和個人,幫助他們順利進入Moonbeam發展,依靠早期的生態扶持迅速成長。 每一份Grant計劃旨在融合社區參與、包容性和透明度等特性,加速Moonb…

Java項目-瑞吉外賣Day3

填充公共字段: 目的:由于某些屬性,例如createdTime這些需要填充的字段會在多個地方出現,所以考慮使用公共字段自動填充的辦法減少重復代碼。 在對應屬性上加入TableField注解。通過fill字段表明策略,是插入/更新的時候…

Android studio之ConstraintLayout使用

文章目錄 優勢使用ConstraintLayout的步驟使用多種方式定義控件的位置 優勢 ConstraintLayout是一個相對布局,是在Android 2.3版本中引入的。它可以在不同的屏幕大小和分辨率中提供一致的布局,并且是支持復雜布局的最佳選擇之一。ConstraintLayout相對于…

ROS2+ROS_DOMAN_ID

The ROS_DOMAIN_ID? Table of Contents Overview Choosing a domain ID (short version) Choosing a domain ID (long version) Platform-specific constraints Participant constraints Domain ID to UDP Port Calculator Overview? As explained elsewhere, the de…

Dockerfile模板和Docker Compose模板

記錄一下Dockerfile模板和Docker Compose模板, 基礎的系統加JDK環境來構建一個Java應用,其Dockerfile內容如下: # 基礎鏡像 FROM openjdk:11.0-jre-buster # 設定時區 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/local…

如何搭建廢品上門回收小程序

如今,隨著環境保護意識的增強,廢品的回收和再利用變得越來越重要。為了方便人們進行廢品回收,搭建一個廢品上門回收的小程序成為了一個不錯的選擇。本文將介紹如何從零開始搭建一個廢品上門回收小程序。 …

vue寶典之項目結構介紹

文章目錄 🍁前言🍁Vue.js基本概念🍁Vue.js核心特性🍁Vue.js應用場景🍁Vue項目結構🍁Vue開發流程 目前在學習vue項目,之前只是學習vue中基本語法,當接觸項目時發現vue項目結構之間配置…

【Go自學版】02-goroutine

利用時間片分割進程,致使宏觀上A,B,C同時執行(并發) CPU利用率包含了執行和切換,進程/線程的數量越多,切換成本也會增大 最大并行數:GOMAXPROCS work stealing: 偷其他隊列的G hand off: 當前G1阻塞&#…

css 修改滾動條樣式,解決Windows瀏覽器中滾動條不美觀問題

Windows環境中的瀏覽器中滾動條默認是直接顯示了,不管光標是否進入該區域,這樣就很不美觀,如下圖: 之前樣式為 .well {display: block;background-color: #f2f2f2;border: 1px solid #ccc;margin: 5px;width: calc(100% - 12px);h…

mycat部署和配置讀寫分離(二)

說明: MyCAT 是使用 JAVA 語言進行編寫開發,使用前需要先安裝 JAVA 運行環境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性,所以要求必須在 JDK7 以上的版本上運行。 1. jdk1.8安裝 詳見jdk環境安裝 2. Mysql安裝 詳見mysql8.0.11源碼安裝…

websoket 的使用

WebSocket是HTML5的API之一,允許瀏覽器和服務器之間進行雙向通信。Vue.js可以輕松地與WebSocket API集成,使用原生WebSocket API或其他WebSocket庫(如socket.io)都是可行的。 下面是一個使用Vue.js實現WebSocket的簡單示例&#…

【lesson11】數據類型之string類型

文章目錄 數據類型分類string類型set類型測試 enum類型測試 string類型的內容查找找所有女生(enum中)找愛好有游泳的人(set中)找到愛好中有足球和籃球的人 數據類型分類 string類型 set類型 說明: set:集…

SL9008 3.6-60V輸入 LED降壓恒流芯片 內置MOS管 帶PWM調光

SL9008是一款內置MOS管、具有PWM調光功能的LED降壓恒流芯片,適用于3.6-60V的輸入電壓范圍。它采用了先進的電路設計,確保了高效率和長壽命,同時具有寬電壓輸入范圍和優異的負載調整率。 SL9008的主要特點包括: 1. 寬輸入電壓范圍&…

C語言中常用的庫函數和頭文件

下面是C語言中常用的一部分庫函數和頭文件,不同編譯器或操作系統可能會有所差異。 1. 字符串相關函數 (string.h): - strlen:獲取字符串長度。 - strcpy、strncpy:復制字符串。 - strcat、strncat:連接字符串…

HarmonyOS4.0開發應用——【ArkUI組件使用】

ArkUI組件使用 這里會詳細演示以下組件使用: ImageTextTextInputButtonSliderColumn&&RowList自定義組件以及相關函數使用 Image 可以是網絡圖片、可以是本地圖片、也可以是像素圖 Image("https://ts1.cn.mm.bing.net/th?idOIP-C.cYA-_PINA-ND9OeBaolDTwHaHa&…

MySQL GTID詳解

概念 GTID 全局事務唯一標識( global transaction identifier) 格式 單個GTID由兩部分組成 ,用冒號分割;前面一部分為server_uuid,后面一部分transaction_id是由事務在源上提交的順序確定的序列號 GTID server_u…

免費熱門的API大全整理

實人認證(人像三要素):輸入姓名、身份證號碼和一張人臉照片,與公安庫身份證頭像進行權威比對,返回比對分值。實名認證(身份證二要素):核驗身份證二要素(姓名和身份證號碼…