首页 > 其他分享 >我的BIOS之行3-UEFI的简介

我的BIOS之行3-UEFI的简介

时间:2023-08-15 14:23:29浏览次数:40  
标签:初始化 EFI 简介 BIOS pei dxe UEFI

UEFI的世界观

如果有人对BIOS有兴趣,那么不得不提UEFI了。当然笔者这边只是代码与说明的搬运工,通过UEFI组织的官方文档来带大家了解UEFI。当然您要是觉得笔者就是个DB,想直接翻UEFI的文档,不想看笔者的瞎逼文章的话,请直接点击这里,自行下载看就是了。

UEFI的简介

文章开头就开始介绍了UEFI的由来~~~,感觉风中在凌乱~

并在构成介绍中说明第一章是

Introduces the UEFI Specification and topics related to using the specification.

开头翻译如下:

这个统一可扩展固件接口(UEFI)说明书描述了操作系统与平台固件的接口。UEFI是由EFI演变而来,因而UEFI的code与某些protocol的命名还是保持与EFI一致。除非另有说明,本文中EFI的名称是被认为UEFI的一部分。

但笔者绝对不是这样一个循规蹈矩的人,看这些简介貌似对我没有任何涨进的地方,现在不可能还有用EFI架构的BIOS吧。

所以基本上我们可以跳过这段,但在这里笔者也不能什么都不说,因而在做简介的时候,让我们先来了解一下bios。

上面这张图说明了整个bios的过程。
在这个过程中有3个组件是uefi一定会用到的。当然在此你只需要了解一下即可。

  • 启动服务 bootservices(BS)
  • 运行时服务 runtimeservice(RT)
  • protocol

uefi启动过程大约分成
sec->pei->dxe->bds->tsl->osloader->os

当然如果发生错误的话,会进al

这些当做自己的了解即可,先不用深究

下面笔者将介绍各个过程

sec

主要工作:前期验证
功能:

  1. 接受并处理系统启动和重启信号

系统加电信号
系统重启信号
系统运行过程中的严重异常信号

2.初始化临时的存储区域
3. 作为可信系统的根
4. 传递参数给pei

系统当前状态,方便pei去检查系统健康
可启动固件的大小与地址
临时ram区域的地址与大小
栈的地址与大小

pei

主要工作:为dxe准备执行环境,将信息组成hob列表给dex

这里不介绍hob是什么,届时会一一解说

功能:

  1. pei foundation 负责pei基础服务和流程
  2. peimodule 找出所有的peim,并根据peim之间的依赖关系顺序执行peim

pei的顺序
初始化pei core service->调度peimodule->准备hob->dex ipl

调度peimodule也有顺序
cpupeim->platfrom初始化->memory初始化

dxe

主要工作:系统初始化
dxe入口->根据hob初始化系统服务->调度driver->打开entry->bds

bds

主要工作:
执行启动策略
功能:
初始化控制台设备
加载必要的设备驱动
根据系统设置加载和执行启动项

好了笔者大致对启动流程介绍到这。

标签:初始化,EFI,简介,BIOS,pei,dxe,UEFI
From: https://www.cnblogs.com/samuelwnb/p/17631183.html

相关文章

  • 《简介篇》QT是什么
    参考链接:https://blog.csdn.net/m0_65682542/article/details/126731164QT是什么Qt:一个跨平台的C++开发库,主要用来开发图形用户界面程序。名字含义名字含义:字母Q作为所有类的前缀,是因为Haarard写这个字母看起来特别的漂亮,字母t代表"toolkit",在Xt,Xtoolkit等中得到灵感。......
  • Spring简介
    1、简介●Spring:春天---->给软件行业带来了春天!●2002,首次推出了Spring框架的雏形:interface21框架!●Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日发布了1.0正式版。●RodJohnson,SpringFramework创始人,著名作者。很难想象RodJohn......
  • LKT加密芯片-医疗行业应用简介
    医疗、美容行业设备具有设备研发周期长、产品审核准入门槛高,审核资质时间长等特点,一旦其产品出现仿制等问题将会给公司带来巨大的经济影响。LKT系列加密芯片可以有效保护用户产品安全起到防po解、防复制的作用,从而保障产品安全和公司利益。LKT加密芯片又是如何保障产品安全的呢?下......
  • ClassPathResource使用简介
    ClassPathResource使用简介使用Spring的ClassPathResource来读取maven项目resource下的文件一般来说,我们项目的配置文件及静态资源都会放置在resources目录下。有时我们在项目中使用到resources目录下的文件,这时我们可以使用Spring下的Resouce接口来读取。具体代码如下Resourceres......
  • LLMOps(Large Language Model Operations)简介
    LLMOps是一个新兴领域,专注于管理大型语言模型的整个生命周期,包括数据管理、模型开发、部署和伦理等方面。HuggingFace、Humanloop和NVIDIA等公司正在引领这一领域的发展。HuggingFace的Transformers库已成为构建和微调各种NLP任务的大型语言模型的首选开源库。类似地,Humanloop......
  • C++ STL 容器简介
    1、总述C++STL(StandardTemplateLibrary)是C++标准库的一部分,包括了许多数据结构的实现,提供了许多好用的轮子,同时,其设计思想也非常值得学习。其中,容器是STL中最重要的一部分,它是一种高效的数据存储和管理方式,能够方便地处理不同类型的数据,并提供许多常用的操作,如插入、删除......
  • 1.hive 简介
    目录1.1hive出现的原因什么是hivehive的作用,为什么要使用Hive优点hive的缺点,不能使用场景hive工作的原理1.1hive出现的原因FaceBook网站每天产生海量的结构化日志数据,为了对这些数据进行管理,并且因为机器学习的需求,产生了hive这门技术,并继续发展成为一个成功的Apache项目(h......
  • hadoop 简介
    目录hadoop的三大组件和关系1.HDFS:分布式文件系统hdfs的特点和不适用使用场景2.MapReduce:计算模型(分布式并行计算框架)2.1概念浅析2.2模型原理2.3MadReduce的特点3.Yarn:hadoop的三大组件和关系1.HDFS:分布式文件系统hdfs的特点和不适用使用场景1.1HDFS文件系统......
  • python简介
    python简介1.python的产生与应用python于1989年圣诞节期间由吉多·范罗苏姆(GuidovanRossum)(中文名字:龟叔)为打发时间开发的一个新脚本解释程序,作为ABC语言的一种继承。(龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,依然掌握着Python发展的核心方向,被称为仁慈的独裁者)。......
  • 第一章 简介
    R语言简介1.1R是什么R语言是一种开源的脚本语言,也是一种为统计计算和绘图而生的语言和环境,在数据分析与预测以及数据可视化等方面享有良好的声誉。1993年,R的最初版本发布给研究人员使用,解决复杂数据统计分析任务,并用多样化的图形来展示结果。R的名字来源于它当时的两名开发......