当前位置: 首页 > 软件库 > 程序开发 > 协议和规范 >

uEFI

统一可扩展固件接口
授权协议 未知
开发语言
所属分类 程序开发、 协议和规范
软件类型 开源软件
地区 不详
投 递 者 蔺劲
操作系统 未知
开源组织
适用人群 未知
 软件概览

uEFI = universal Extensible Firmware Interface (统一可扩展固件接口) ,是一个可扩展的,标准化的统一固件接口规范,它采用模块化、动态链接和C语言风格的常数堆栈传递方式来构建系统,摆脱了传统BIOS复杂的16位汇编代码。

由于EFI确实具有足够的前瞻性,产业间成立了UEFI (Unified EFI)论坛,共同开发适用于各平台的PC固件标准。基本上,UEFI是基于原有的EFI 1.10为基础,正在进行UEFI 2.0的制定工作。

UEFI BIOS内建功能的多样化,它的数据体积自然是不容小视,再加上扩展性的需要,UEFI BIOS将不再是存放在主板上的只读存储器中,而是在硬盘划分出一块FAT 32格式的扇区(ESP;UEFI BIOS System Partition),来存放UEFI BIOS的相关数据。

UEFI的最大特点,采用模块化设计的UEFI BIOS,基本上区分成硬件控制和OS软件两大模块,前者只要是相同版本的UEFI BIOS,就会有相同的功能,后者则是给厂商用C语言撰写应用功能的开放接口。通过这个开放接口,厂商就可以自行编写出各种功能的插件(Plug- in),像是类似Ghost的系统备份/还原插件、类似IE的浏览器插件、类似Anti-Virus的防病毒插件等功能来增加自家产品的功能特色。从前面的内容来看,UEFI BIOS完全不同于传统BIOS的样貌,几乎就是一个专用的微型操作系统。而随着UEFI BIOS内建功能的多样化,它的数据体积自然是不容小视,再加上扩展性的需要,UEFI BIOS将不再是存放在主板上的只读存储器中,而是在硬盘划分出一块FAT 32格式的扇区(ESP;UEFI BIOS System Partition),来存放UEFI BIOS的相关数据。

可以说,UEFI系统的固件就相当于一个简单的操作系统,在开机程序完成后,使用者可选择执行UEFI Shell当做命令接口,或指定任一其它操作系统。这种情形就有点像早期的DOS一样,Windows只是另一个使用者接口系统。包括AMI和 Insyde,现在的UEFI BIOS都是以Intel所撰写的UEFI功能核心Framework(开发代号为Tiano)为基础,再加挂其编写的架构模块。甚至于微软的下一代操作系统Longhorn,也在IDF中宣布支持UEFI,按照微软的计划,未来所有新的操作系统都将支持UEFI。在模块化分工的概念下,加入一个新的中介接口的确能将系统变动带来的其它改变减至最少。

因为UEFI的这种架构特性,所以很多人认为在UEFI成为电脑固件后,对BIOS厂商和微软都是威胁----BIOS业者将不再有绝对的主控地位,而用户在开机后执行系统的选择性增加,就不见得一定得依赖微软的Windows了。不过, UEFI BIOS也象CSS一样存在不少缺点。比如真正的UEFI是在硬盘中隔离出一个区域来作为存储空间的,如果硬盘这一小块空间出现物理损坏,后果怎样?由于 UEFI更像是种软件,所以对病毒、外部程序侵入的防御能力就比传统的BIOS削弱了不少。再说,现在会用C语言来编程的人不少,可能很多人都可以很容易破译UEFI,这对UEFI的安全性提出了更高的要求。

  • 组成: UEFI(统一可扩展固件借口)定义了操作系统和平台固件间的接口,是一种标准。 系统组成:启动服务(BS),运行时服务(RT),和隐藏在BS后的protocol。BS和RT以表的形式存储。 操作系统加载器(OS Loader)->OS Loader执行ExitbootServices()期间是从UEFI环境向操作系统过度的过程。OS Loader可通过BS和RT使用服务,转移计算机资源,此过

  • UEFI系统的启动遵循UEFI平台初始化(PlatformInitialization)标准。UEFI系统从加电到关机可分为7个阶段: SEC(安全验证)→PEI(EFI前期初始化)→DXE(驱动执行环境) →BDS(启动设备选择)→TSL(操作系统加载前期) →RT(Run Time) →AL(系统灾难恢复期) 图1-2展示了UEFI系统从加电到关机的7个阶段(以图中竖线为界)。 前三个阶段是U

 相关资料
  • 8.1. 定义访问令牌类型 8.2. 定义新的端点参数 8.3. 定义新的授权许可类型 8.4. 定义新的授权端点响应类型 8.5. 定义其他错误代码

  • 通过使用绝对URI作为令牌端点的“grant_type”参数的值指定许可类型,并通过添加任何其他需要的参数,客户端使用扩展许可类型。 例如,采用[OAuth-SAML]定义的安全断言标记语言(SAML)2.0断言许可类型请求访问令牌,客户端可以使用TLS发起如下的HTTP请求(额外的换行仅用于显示目的): POST /token HTTP/1.1 Host: server.example.com

  • 问题内容: 我正在使用Django构建Web应用程序。我选择Django的原因是: 我想使用免费/开源工具。 我喜欢Python,并认为它是一种长期的语言,而对于Ruby,我不确定,PHP似乎是一个学习的巨大麻烦。 我正在为一个想法构建原型,并且对未来没有太多考虑。开发速度是主要因素,我已经了解Python。 我知道,将来选择迁移到Google App Engine会更容易。 我听说Django很

  • 我需要减少从Optaplanner获取结果的延迟。是否可以跨集群中的多个实例(和/或机器)运行作业?我似乎找不到实现这一目标的任何信息/尝试。

  • 有两种方法可以定义访问令牌类型 - 通过在访问令牌类型的注册表中注册。 通过使用唯一的绝对URI(统一资源标识符)作为其名称。 定义新的端点参数 参数名称必须遵守参数名称ABNF(Augmented Backus-Naur Form是一种基于Backus-Naur形式的元语言,由其自己的语法和派生规则组成),参数值的语法必须明确定义。 param-name = 1* name-char name-

  • 有人知道如何扩展dropwizard界面吗?现在它只有所需的选项,但我需要为anooted方法添加权限。 例如: 我有一个用户管理员和一个普通用户。两者都可以进行身份验证并到达我的@auth带注释的资源。但我想允许一些(不是全部)http方法请求只为管理员和普通用户删除。如何在资源之外执行此操作?类似的东西