入职接近3年,从起初进入公司,公司领导安排跟随指导老师学习BIOS相关知识,说来惭愧,3年间也基本没有从事BIOS相关工作,如今有了好的机会,开始BIOS学习。之前一直查看相关资料,也一直没有明白BIOS、UEFI、UEFI BIOS此三个词语的区别,最近仔细看书后,对自己的理解总结如下,共自己查阅和参考。
1.BIOS:Basic Insput Output System,基本输出、输出系统,是存储在主板Flash芯片中的程序,负责平台硬件设备初始化、操作系统加载等工作,总之负责工作很重要;
2.UEFI:Unified Extensible Firmware Interface,通用可扩展固件接口,通常所说的UEFI就是指UEFI规范,该规范定义了操作系统和固件(即实现具体功能的程序)之间接口的实现准则(UEFI是规定的操作系统和固件间的接口,不是操作系统与硬件间的接口;对于UEFI具体定义的是那些内容,可以参考UEFI规范),是编写UEFI程序的标准,规定了每种类型的程序(protocol、services)的框架, 例如编写一个驱动程序,该驱动程序中需要包含数据变量个数及类型、成员函数的种类及作用,均作出了明确规定:
3.UEFI BIOS:即遵循UEFI规范而实现的BIOS程序,区别于传统BIOS程序(不遵循UEFI规范的BIOS程序),两者的却别和优缺点网上资料很多,但均是表述UEFI BIOS比传统BIOS好,对于刚开始接触BIOS的,我认为了解就可以(我就是这么干的,不知道对不对,反正看了有的也不是很理解)。
4.EDK II:UEFI是一种接口标准,没有具体实现。EDK II是遵循UEFI标准的具体实现,代码是开源的。它可以支持所有类型的CPU(X86架构、RRM架构等)。EDK II代码包含着平台通用的代码,不会提供特定外围设备(USB控制器、SATA控制器、音频控制器)驱动程序等相关代码。