- 基本概念
. 對象(Objects)—— 用來管理系統狀態,包括I/O設備、內存以及事件
: 不同的對象支持不同的服務。UEFI通過這種方式管理設備。
. 系統表(System Table)—— UEFI中最重要的數據結構,包含系統相關的數據和接口函數
: 超級重要!指向她的指針是所有的UEFI驅動和應用程序的入口函數的參數。通過他應用程序或驅動可以訪問系統配置信息和豐富的UEFI服務,其中包括啓動服務,運行時服務,協議服務。
: 對於同一個的UEFI規範版本,啓動服務和運行時服務的數量和種類都是固定的。
: 協議服務是自定義的物理設備抽象層,比如控制檯、網絡、硬盤,由GUID索引。
. 句柄庫(Handle Database)和協議(Protocol)—— 已註冊的可被調用的接口函數
: 協議和數據域屬於句柄。UEFI應用程序或驅動創建句柄並attach一個或多個協議。整個句柄庫是全局的,任何一個可行性的Image都可以訪問。
: 每個Protocol還包含一個Object的列表,記錄誰使用他了
: 一個UEFI Protocol是一些函數指針和數據成員的組合。Protocol必須有GUID,以便Boot Service能在Handle Datebase中找到她
: UEFI Driver可以實例化一個或多個Protocol,這取決於Driver的複雜性
: 一個Handle可以attach多個不同的Protocol
: 一個Driver可以實例化多個相同的Protocol,比如PCI驅動就爲每一個PCI設備分別實例化PCI Protocol
. 鏡像(UEFI Images):可執行程序
. 事件(Events):軟件響應外部活動的一種方法
. 設備路徑(Device paths):描述硬件設備位置的數據結構