UEFI概述

UEFI(统一可扩展固件接口)取代传统BIOS(基本输入输出系统)

取代的原因:

BIOS开发效率低(汇编语言,代码与硬件的耦合程度高),性能差(不支持异步工作模式),可扩展性差(静态链接),安全性差并且不能对于2TB以上的硬盘进行地址引导 (BIOS硬盘采用32位地址)。

UEFI定义了操作系统和平台固件之间的接口

UEFI给操作系统提供的接口包括启动服务和运行时服务,以及隐藏在启动服务之后的丰富protocol

操作系统加载器被加载到OS loador执行退出启动服务这段时间,是UEFI向操作系统过度的过程,这个过程中OS loader通过BS RT使用UEFI提供的服务,将计算机资源完全转移到自己手中时,结束BS并回收BS占用资源,进行UEFI runtime阶段。

BS提供的服务:内存管理,事件服务,时间服务等

UEFI优点(与BIOS相对) 开发效率(CC++,通过接口屏蔽底层细节,方便重用),可扩展性(驱动模块化设计),性能(提供异步操作),安全性(执行应用程序和驱动前检测证书)

UEFI平台初始化:SEC (安全验证);PEI (EFI前期初始化);DEX(驱动执行环境);BDS (启动设备选择) ;TSL(操作系统加载前期);RT (RUNTIME);AL(系统灾难恢复期)

SEC:接受处理系统启动和重启信号,初始化临时存储区域,作为可信系统的根,传速系统参数给PEI

PEI: 内存到PEI后期被初始化,为DEX准备执行环境。PEI分为两个部分:PEI内核(负责PEI基础服务流程),PEIM派遣器(找出系统所有PEMI 根据依赖关系执行PEIM,对系统完成该阶段的初始化工作,PEIM可访问PEI内核)

DEX:执行大部分系统初始化工作,与PEI相似(程序设计角度),DEX内核和DEX派遣器(负责调度执行DEX)

BDS:执行启动策略(初始化控制台设备,加载必要设别驱动,根据系统设置加载执行启动项)

TSL:OS LOADER执行的第一个阶段,作为一个UEFI应用程序运行,被称为临时系统(为操作系统加载器准备执行环境)

RT:系统控制权从UEFI内核转到OS LOADER,UEFI占有的资源也被回收到OS LOADER

AL:恢复机制

启动服务和运行时服务在系统进行DEX阶段后才生成

相关推荐
ajassi20009 分钟前
开源 C# .net mvc 开发(八)IIS Express轻量化Web服务器的配置和使用
linux·开源·c#·mvc·.net
張萠飛22 分钟前
Linux中程序的limits中的Max open files的配置由哪些参数决定
linux·运维·服务器
移动开发者1号37 分钟前
Kotlin协程超时控制:深入理解withTimeout与withTimeoutOrNull
android·kotlin
程序员JerrySUN1 小时前
RK3588 Android SDK 实战全解析 —— 架构、原理与开发关键点
android·架构
移动开发者1号1 小时前
Java Phaser:分阶段任务控制的终极武器
android·kotlin
KoiHeng3 小时前
操作系统简要知识
linux·笔记
Johny_Zhao6 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8507 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
好好学习啊天天向上8 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
tan180°9 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql