EFI介绍之——框架结构(Framework)

 

原文来自:http://blog.csdn.net/lpg123/article/details/2853502

最近一直很忙,没有时间来这里坐坐,现在我继续给大家介绍EFI的基本概念之框架结构(Framework),前面一篇文章已经提到,EFI的目标就是实现BIOS的模块化,标准化,简单化。为了实现这个目标,就需要设计出相应的框架出来,只有框架支持模块化,才能去谈最终的产品实现了模块化,所以框架是基础。我接下来要介绍的框架结构是由Intel公司设计出来的,虽然intel在推广EFI的时候明确表示,这个框架仅仅是一个推荐方案,可以自己去设计出更好的,更加完美的框架结构,但是至今没有看到第二个框架出现,目前世界上只有两个EFI的产品,一个是Intel公司的Tiano,另一个是AMI的Aptio,他们都使用同一个Framework,虽然有很多公司都在做EFI BIOS,包括国内的好多厂商也在参与,但是他们都是在前面两个产品的基础上进一步去更改/添加代码,完成客户需求。在此我强烈建议,如果国内真的想发展自己的EFI BIOS,希望能重新设计一个Framework,如果没有这个能力,也希望能完全靠自己去实现Intel的Framework,那样才能实现真正的自主知识产权,如果仅仅在上面提到的两个产品上去修改,去完善,那么还是被动,因为核心研发在别人手上。说得有点远,我们现在就来看看这个Framework,请看下图:

这个就是Intel设计出来的一个完整的EFI BIOS示意图,其中绿色的部分就是Framework,我现在从下至上一一介绍。

1)Hardware 这个没有什么好说的,就是指我们的平台,主板。

2)Framework,一个大的“H”型结构,好像一个大的容器,两端都能装东西,装入协议和接口,下端的协议用来访问硬件,上端协议用来和操作系统进行交互,而两端的协议进行通信的桥梁就是Framework所设计出的两个基本模块:DXE Foundation和PEI Foundation。之所以有两个,是因为在BIOS过程中分两个阶段,他们各自包含了一个称之为调度器(Dispatcher)的东西,来调度执行子模块。这两个Foundation里面到底有哪些东西,我会在后面的文章中继续介绍。Framework还包含了Framework Driver,它实现了除Foundation之外的功能,比如访问硬件的接口等等,注意,它仅仅包含接口而已,不包含接口的实现。

3)Platform Drivers,这个是和具体硬件平台相关的驱动,访问硬件接口的实现,前一篇文章已经提到,EFI在设计的时候就考虑到跨平台,所以我们在这里看到了他把何平台有有关的东西做到了一个模块里面,那样在移植到其他平台的时候,只需要换掉这个部分就可以了。

注:在这里我们经常会看到"Driver"这个词,我想说明一下,这个“Driver”和我们日常所听到的驱动程序有点不一样,可以翻译成接口,我觉得更加恰当一些。

4)EFI Drivers,这个指一个符合EFI 驱动标准(EFI Driver Modle)的驱动程序,EFI的标准化甚至渗透到了驱动层面,为了兼容性,也制定了驱动标准,凡是符合此标准的程序,都可以在所有的EFI BIOS上直接运行,而不需要任何改动。这样也给做外围设备的厂商提供了方便,他们在编写设备驱动程序的时候,只需要去了解驱动模型就好,而不要去研究整个EFI BIOS,也不用考虑不同的EFI BIOS会有不兼容这个问题。

5)Capatibility Support Module(CSM),为了兼容现有的汇编语言编写的设备驱动程序和操作系统,而提供了这个部分,计算机领域都要考虑向前兼容的问题,直到BIOS的所有部分都符合EFI标准,这个模块才会拿掉,不过现阶段,这个东西还会存在很长一段时间,因为目前使用EFI BIOS的操作系统很少,Mac OS,Vista+SP1,Linux也正在准备,前景很好:),还有重要的一点,就是现阶段的一些操作系统不可能很快就被淘汰,Dos到今天还在广泛使用。

6)EFI,再往上一层黄色薄薄的一层,EFI本身所表示的就是接口,所以我们可以看到,在Framework这幅图里面,它只占了很少的一部分,仅仅提供了OS和Framework之间的接口而已。绝大多数工作,都是在Framework中完成。

7)OS,最上面灰色的部分,这幅图里面有两种OS,一种是支持EFI的操作系统,另一种是传统的(Windos XP/98,DOS等等),后者在启动过程中还需要CSM支持,用Int 19H中断,所以它放在了CSM的正上方,而支持EFI的操作系统,是不要CSM支持的,它的启动方式是EFI标准所规定的,这个我们在后面继续介绍。

 

以上就是这幅图的全部内容,感兴趣的朋友如果有不清楚的,或者不同意见的,可以一起讨论,我所讲的也不一定完全正确,都是这两年学习的一些总结。

Intel® Platform Innovation Framework for EFI Architecture Specification (PDF 893KB) ACPI Specification v0.90 (PDF 212KB) ACPI Specification v0.91 (PDF 246KB) ACPI Table Storage Specification v0.90 (PDF 139KB) ACPI Table Storage Specification v0.91 (PDF 190KB) Boot Script Specification v0.9 (PDF 200KB) Boot Script Specification v0.91 (PDF 275KB) Cache Subclass Specification (PDF 224KB) Capsule Specification (PDF 270KB) Compatibility Support Module Specification v0.96 (PDF 547KB) Compatibility Support Module Specification v0.97 (PDF 576KB) CPU I/O Protocol Specification (PDF 205KB) Data Hub Specification (PDF 177KB) Data Hub Subclass Design Guide (PDF 156KB) Driver Execution Environment Core Interface Specification (DXE CIS)** v0.9 (PDF 1.05MB) Driver Execution Environment Core Interface Specification (DXE CIS)** v0.91 (PDF 1.07MB) Firmware File System Specification (PDF 237KB) Firmware Volume Block Specification (PDF 197KB) Firmware Volume Specification (PDF 403KB) Hand-Off Block (HOB) Specification (PDF 231KB) Hot-Plug PCI Initialization Protocol Specification (PDF 108KB) Human Interface Infrastructure Specification v0.9 (PDF 597KB) Human Interface Infrastructure Specification v0.91 (PDF 800KB) Human Interface Infrastructure Specification v0.92 (PDF 764KB) IDE Controller Initialization Protocol Specification (PDF 139KB) Memory Subclass Specification (PDF 397KB) Miscellaneous Subclass Specification (PDF 490KB) PCI Host Bridge Resource Allocation Protocol Specification (PDF 212KB) PCI Platform Support Specification (PDF 115KB) Platform IDE Initialization Protocol Specification (PDF 83KB) Pre-EFI Initialization Core Interface Specification (PEI CIS)** v0.9 (PDF 881KB) Pre-EFI Initialization Core Interface Specification (PEI CIS)** v0.91 (PDF 841KB) Processor Subclass Specification (PDF 314KB) Recovery Specification (PDF 225KB) S3 Resume Boot Path Specification (PDF 173KB) SMBus Host Controller Protocol Specification (PDF 198KB) SMBus PPI Specification (PDF 188KB) Status Codes Specification v0.9 (PDF 682KB) Status Codes Specification v0.92 (PDF 523KB) System Management Mode Core Interface Specification (SMM CIS) v0.9 (PDF 713KB) System Management Mode Core Interface Specification (SMM CIS) v0.91 (PDF 646KB)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值