文档介绍:上海交通大学
硕士学位论文
基于Intel EFI Pre-boot环境下的图形用户界面的设计与研究
姓名:蒋逸明
申请学位级别:硕士
专业:计算机应用技术
指导教师:张申生
20061201
上海交通大学硕士学位论文
基于 Intel EFI Pre-boot 环境下的
图形用户界面的设计与研究
摘要
EFI 的全称是 Extensible Firmware Interface(可扩展固件接口),是在
开机前(Pre-boot)环境下进行扫毒及诊断的执行环境,为启动操作系统
前的程序提供了一个标准环境。从本质上讲,EFI 介于硬件设备以及高
级操作系统(如 Windows 或 Linux 等)之间,是一种替代 BIOS 的产品。
目前为止 Intel 已经利用 EFI 建立了一个可以取代 BIOS 的开机前的
软件框架。这个框架名为“EFI 平台创新开发框架”,其工程代码为
“Tiano”,这个框架让电脑厂商可以编写 Pre-boot 环境下的软件模块组,
这种模块组类似于 Windows 的驱动程序,大大提高了 EFI 平台的普及度。
同时,EFI 平台的普及也必须依靠更多基于 EFI 的应用程序的推广,
而对于已经熟悉了 Windows 或者 Linux 环境下图形用户界面的用户来
说,他们非常需要在 EFI 环境下有相似的图形用户界面来为应用程序的
开发提供便利。这就提出了在 EFI 环境下的图形用户界面的要求,而这
恰恰是目前 EFI Tiano 平台所欠缺的,Tiano 只是利用一个 Shell 提供了类
似 DOS 的命令行文字界面。
针对这一方面的不足,本文提出了开发基于 EFI Tiano 环境下的图形
用户界面,最终目标是提供类似 Windows 的 API 函数,并以此作为在
EFI 环境下图形用户界面开发的研究尝试。同时本次课题中图形界面的
开发将借鉴已有的 MiniGUI 系统架构,并在 EFI Tiano 环境下完全实现,
这个系统暂时命名为“NUWA”。在 NUWA 系统的基础上,本次课题编写
了相应的测试案例以测试界面的功能与交互性,其中包括重写了 EFI
Tiano 平台上的 PCI View 与 SMBIOS Viewer 信息工具的用户界面交互部
分。本论文研究的主要内容和结论包含以下几个方面:
IV
上海交通大学硕士学位论文
MiniGUI 的特征以及 MiniGUI 在 Linux 应用中的理论
基础和系统框架,提出了基于 EFI Tiano 的图形用户界面 NUWA 的系统
模型。然后分析模型中的各个模块的功能和作用,并且设计整个系统的
分层结构,并对各层次内容的关键要素进行详细的分析。
EFI Tiano 的体系结构,尤其是对 EFI 驱动-协议
(Driver-Protocol)模型的分析,提出了利用该模型实现 NUWA 系统的
图形引擎的方法,并利用编码实现,保证了 NUWA 系统在 EFI Tiano 平
台上的可移植性与可扩展性。同时通过对 NUWA 系统中相关函数的提取
与整理,实现了 NUWA 图形用户界面的 API 函数,方便了 EFI Tiano 平
台上应用程序的开发。
3. 根据相关实验,编译了 NUWA 系统的 DEBUG 版本,大小为 400K,
可以放入到 BIOS 芯片中。同时利用 NUWA 系统提供的 API 函数,在
EFI Shell 下编写了 3 个应用程序,包括 A. 单窗口的 PCI View 工具(Tiano
平台已经提供了基于命令行的相关程序),主要用于提供本机的所有 PCI
总线信息;B. 单窗口的 SMBIOS Viewer 工具(Tiano 平台已经提供了基
于命令行的相关程序),主要用于查看本机的所有 BIOS 信息;C. 多窗
口的示例程序,主要用于显示基本的图形。整个程序的编码风格和
Windows 环境下非常相似。
关键词可扩展固件接口,Tiano,图形用户界面,图形抽象层,输入抽
象层,驱动-协议模型
V
上海交通大学硕士学位论文
INTEL EFI PRE-BOOT ENVIRONMENT
BASED GRAPHIC USER INTERFACE
DESIGN AND RESEARCH
ABSTRACT
EFI is the abbreviation of Extensible Firmware Interface, which is the
pre-boot e