




已阅读5页,还剩74页未读, 继续免费阅读
(计算机系统结构专业论文)基于efi+bios的远程协助系统的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 互联网的迅猛发展使得计算机技术在各个领域的应用有了突飞猛进的发展, 尤其是在实时控制、信息处理、信息传输、技术支持等领域广泛应用更是体现了 其快速发展的特性。计算机远程协助是指技术支持人员在异地通过互联网或其它 网络连接到客户的计算机,协助客户进行计算机系统的维护和资源管理。计算机 远程协助技术可以应用在远程技术支持、远程维护和管理以及计算机远程诊断等 很多方面,具有很好的应用前景。现有的基于计算机远程协助技术的解决方案有 很多,但是这些方案的客户端都运行在o s 中,这就意味着当客户端所在的o s 无 法正常启动时,整个系统就无法运行了。 本文阐述了一种全新的计算机远程协助技术解决方案,它将远程协助系统的 客户端从o s 中移植到e f ib i o s 中,从而实现了对处于p r e - o s 阶段的计算机进行 远程协助和远程管理。这也就意味着技术支持人员可以通过本方案对无法正常启 动o s 和未安装o s 的“裸机 进行远程的文件资源管理、硬件信息查看以及系统 分区的备份与恢复等操作。另外,本方案中的客户端可以不依赖于服务器端而独 立运行,本地用户也可以在o s 启动之前就能够e f ib i o s 中通过图形界面进行文 件的管理、系统分区的备份与恢复、硬件信息的查看与故障诊断和与服务器端的 实时文字信息交流。 本文首先论述了e f i 规范及其工程实现的基本技术和远程协助系统的相关技 术,例如e f i 框架、c s 模式、t c p i p 协议等。之后,本文介绍了e f ib i o s 平台 的应用程序的运行机制与实现原理,并针对e f ib i o s 环境的独特性( 单任务、无外 部设备中断、内存采用实模式下平板管理1 给出了相应了解决方案。接下来详细阐 述了新方案的应用模型、系统架构、客户端的架构、客户端的模块设计、关键模 块的实现、服务器端的设计以及一些重要模块的实现思想和实现要点。最后,提 出此方案的可改进之处以及未来的发展方向。 关键字:可扩展性固件接口,远程协助,t c p i p 协议 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e r a c t , c o m p u t e rs c i e n c ea n di t sa p p l i c a t i o n sg r o w r a p i d l y i nm a n yf i e l d s ,e s p e c i a l l y i nr e a l - t i m ec o n t r o l , i n f o r m a t i o np r o c e s s i n g , c o m m u n i c a t i o n s ,t e c h n i c a ls u p p o r ta n do t h e ra r e a s c o m p u t e rr e m o t ea s s i s t a n c ei s a t e c h n o l o g yw h i c hp r o v i d e sas o l u t i o nt h a tt e c h n i c a le x p e r tc a nc o n n e c tt o ar e m o t e c l i e n tv i at h ei n t e r n e to ro t h e rn e t w o r k s ,a n dt o a s s i s tc l i e n t st oc a r r yo u tc o m p u t e r m a i n t e n a n c ea n dr e s o u r c em a n a g e m e n t r e m o t ec o m p u t e r - a s s i s t e dt e c h n i q u e sc 觚b e a p p l i e da tt h er e m o t et e c h n i c a ls u p p o r t , r e m o t em a i n t e n a n c ea n dm a n a g e m e n t , 勰w e l l a sr e m o t ed i a g n o s t i c s t h e r eh a v es o m ep r o d u c t sa n ds o l u t i o n st h a tb a s e do nc o m p u t e r r e m o t ea s s i s t a n c et e c h n o l o g y , w h i c hv a r yi nm a n ya s p e c t s b u ta l le x i s t i n gs o l u t i o n sa n d p r o d u c t sh a v eac l i e n ti no p e r a t i n gs y s t e m ,w h i c hm e a n s t h a tw h e nt h eo sd o e sn o ts t a r t , t h ee n t i r es y s t e mw i l ln o tb ea b l et or u n t h er e s e a r c hp r e s e n t san e wr e m o t ea s s i s t a n c ec o m p u t e rt e c h n o l o g ys o l u t i o n s ,i t w o u l dn 锄s f e rt h ec l i e n tf o r mo st oe f ib i o s ,t h u sc o m p u t e ri nt h ep r e - b o o ts t a g ec a l l b em a n a g e da n dc o n t r o l l e db yar e m o t es e r v e r t h i sm e a n st h a tt e c h n i c a le x p e r tc a l l p r o v i d er e m o t ea s s i s t a n c ea n dt e c h n i c a ls u p p o r tt o ac o m p u t e rw h i c hc a l ln o tb o o t n o r m a l l y b e s i d e s ,t h en e w s o l u t i o nc a ne v e na p p l yt ob a r e - m e t ac o m p u t e r i na d d i t i o n , t h ec l i e n to ft h i ss o l u t i o nc a l ln o tr e l yo ns e r v e ra n di n d e p e n d e n to p e r a t i o n ,t h ee n d u s e r c a nm a n a g i n gf i l e ,g e t t i n gh a r d w a r ei n f o r m a t i o na n dc o m m u n i c a t i n gw i t has e r v e r t h r o u g hag r a p h i c a li n t e r f a c ei np r e o ss t a g e t h er e s e a r c hf i r s td i s c u s s e st h ee f is p e c i f i c a t i o na n di t sb a s i cc o n c e p t sa n d i m p l e m e n t a t i o np r o c e s s ,s u c h a se f if r a m e w o r k , c sm o d e ,t c p i pp r o t o c o la n ds o o n t h e ns o m eb a s i ck n o w l e d g eo fe f ia p p l i c a t i o na n di t si m p l e m e n t a t i o nm e c h a n i s m a r ei n t r o d u c e d a f t e r w a r d st h ea p p l i c a t i o nm o d e l s ,s y s t e ma r c h i t e c t u r e ,c l i e n t a r c h i t e c t u r e ,m o d u l ed e s i g n ,k e yi m p l e m e n t a t i o n ,s e r v e rd e s i g na n dk e yi m p l e m e n t a t i o n c o n c e p to fs o m ei m p o r t a n tm o d u l e sa r ed e t a i l e di n t h i sa r t i c l e a tl a s t ,t h ep o s s i b l e i m p r o v e m e n t sa n df u t u r ew o r k a l ei s s u e d i l a b s t r a c t k e y w o r d s :e x t e n s i b l ef i r m w a r ei n t e r f a c e ,r e m o t ea s s i s t a n t , t c p i pp r o t o c o l i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:兰趁磋址 日期:勿矿7 年 月乡日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) ,一、 签名:盈叁銎导师签名: 日期:幻卵 第一章绪论 1 1 引言 第一章绪论 从p c a t 诞生到现在的二十多年时间里,计算机硬件技术的发展可谓日新月 异,每一次核心技术更新换代都为人类带来了更加丰富多彩的体验,但是主板b i o s 的发展却几乎停滞,对比二十多年前的b i o s 和现今的b i o s 就会发现二者在技术 上几乎没有什么大的区别。 b i o s 技术发展的停滞不前和自身的诸多缺点已经严重阻碍了整个p c 行业的 发展。首先,传统的b i o s 没有统一的标准规范可循,几大b i o s 开发厂商只是根 据以往经验积累来开发b i o s ,所以开发出的产品互不兼容。并且由于生产商可以 随心所欲地修改和配置,所以当用户通过b i o s 配置系统和诊断问题时,往往起不 了太大的作用。其次,由于b i o s 是用晦涩难懂的汇编语言编写的,这使得代码的 维护、更新与调试去相当的困难。 当采用x 8 6 架构c p u 进入3 2 位时代后,因为兼容性的原因,8 0 3 8 6 仍然保留 了1 6 位的运行模式,当c p u 加电启动时依然会切换到1 6 位的实模式下工作。尽 管之后的c p u 历经了多次重大革新,且6 4 位的c p u 也已经普及,但是这一兼容处 理方法依然没有改变。自从第一套b i o s 源程序问世以后,b i o s 就以1 6 位汇编代 码、寄存器参数调用、静态链接和l m b 以下内存固定编址的形式存在了2 0 年n 1 。 正是这个可怕的1 6 位“魔咒一,使得i n t e l 和a m d 公司在开发新款c p u 时,必 须考虑引入导致系统的性能将大大降低的兼容模式。 由于b i o s 没有提供一致的标准接口,所以每次新硬件的出现,都需要大量的 修改b i o s 代码,这使得b i o s 的代码实现越来越复杂。并且因为b i o s 采用汇编 语言编写,这导致代码的维护、修改以及调试变得相当困难。有很多人觉得b i o s 高深莫测,是高手方能玩转的东西。其实,造成这一认识的一个重要原因是b i o s 所采用的“简陋”字符界面。在w i n d o w s 操作系统中,图标按钮、菜单、单击、 双击赏心悦目的图形化u i 缩短了我们与计算机之间的距离,而b i o s 始终如 一的“铁面 却让用户望而生畏。所以,面对用户多年来的抱怨,b i o s 应该有所 “交待”了。 电子科技大学硕士学位论文 为了克服传统b i o s 的这些缺陷,i n t d 公司联合业内的一些领导厂商一起推出 了新一代的b i o s 标准e x t e n s i b l ef i r m w a r ei n t e r f a c e ( e f i ) 中文名称为可扩展性固 件接e l 2 - 4 。与传统的b i o s 不同,在e f ib i o s 中除了少部分内核模块采用汇编 语言编写外,其它的大部分模块都是采用c 语言实现,这就使得它可以实现丰富 多彩的功能,并且开发的难度也大大降低。虽然与传统b i o s 有着显著的不同,但 是e f ib i o s 在基础任务上与传统的b i o s 完全一致,都是作为硬件和软件之间的 桥梁,只是e f ib i o s 让这个桥梁变得更易于使用,功能也更强大。可、支持鼠标 操作的图形界面与支持直接对硬盘的数据操作是e f ib i o s 的主要特点。e f ib i o s 内置的图形驱动功能,可以为用户提供一个高分辨率的彩色图形环境,当用户进 入后便可以直接用鼠标进行系统配置的调整。当操作系统因为设置问题而无法进入 时,用户还可以进入e f i 环境来修改配置或安装新的硬件驱动程序,将系统成功 修复。此外,e f ib i o s 还支持强大的磁盘管理和启动管理功能,具有可脱离操作 系统的管理工具,用户不必进入操作系统就能够对计算机进行整机维护工作。 e f ib i o s 用本地硬盘的某个区域作为自己的存储空间,自身能够直接执行一些常 用的程序比如硬盘分区、多重操作系统引导等等,加上它独立的文件系统,能够 像在操作系统中一样实现文件级别的操作和管理。 强大的可扩展性是e f ib i o s 的另外一个优点;e f ib i o s 了采用模块化设计, 它在逻辑上被分为了硬件控制与o s 软件管理两个部分:硬件控制部分为所有e f i b i o s 所共有,而o s 软件管理部分其实是一个可编程的开放接口。通过这个接口, 主板厂商可以根据实际的需要编写出各种功能的附件插件,并将其挂载在e f i b i o s 之上,使其成为o s 软件管理部分的一个模块,由此可实现更强大的扩展功 能。而主板厂商也可以让自己的产品拥有更多的更强大的特色功能,增强了市场 竞争力。例如,i n t d 公司已为e f ib i o s 平台开发了一套功能类似n o r t o ng h o s t 的 系统备份与恢复工具,用户进入e f ib i o s 图形操作界面后可使用鼠标点击对系统 进行镜像备份,一旦操作系统出现故障且无法修复,用户也只需要简单地操作鼠 标便可以快速恢复系统,这无疑使系统的使用安全性和易用性提高了几个等级。 而依照传统的方式我们只能通过g h o s t 或其它类似软件来还原和备份系统,操作起 来还是比较繁琐的。 此外,在e f ib i o s 中已经实现了对t c p i p 协议的支持,这使得e f ib i o s 具 有了接入网络的功能,用户可以通过网络直接访问e f i 便能够进行可靠的故障诊 断,并可以借助调节各硬件子系统的参数的配置或更换驱动程序等操作来使系统 恢复到正常状态,这大大提高了计算机的可管理性。 2 第一章绪论 1 2 远程协助技术发展现状 伴随着互联网技术的发展,信息的互联己经更深层次地渗透到社会的各个领 域,也为生产的全球化提供了平台。因为互联网在信息传递上具有的诸多优势, 所以基于互联网的远程管理和协助技术的研究己成为热点课题,并取得一定成果。 计算机远程协助技术本质上是计算机远程管理与控制技术的一种,是由一台 计算机作为服务端通过计算机网络对另外一台计算机( 客户端) 上的资源进行程操 作控制和故障诊断的技术。通过远程协助可以让受信任的人( 朋友、支持人员或 r r 管理员) 远程地或交互地协助解决计算机问题。协助人可以查看用户请求协助 和提供建议的屏幕。如果用户允许,协助人甚至可以控制用户的计算机和远程地 执行任务【5 吲。计算机远程协助技术是伴随着计算机网络技术的出现而诞生的,很 早便有商业化的应用,但是早期系统受制于慢速的计算机网络,功能受到了很大 的限制,其发展速度也一直比较缓慢。随着个人计算机的普及和互联网的高度发 展,计算机远程协助技术也有了突飞猛进的发展,并且在不少行业中广泛被使用, 远程协助服务的提供者( 服务端) 和接受者( 客户端) 也不再限于传统意义上的电脑 了。理论上,凡是接入网络的具有一定处理能力的智能设备都可以作为远程管协 助系统的任何一端。 计算机的远程协助系统的连接技术可分为两种,正向连接和反弹连接。正向 连接是由服务器端主动去连接客户端,只要客户端存在且权限允许,那服务器就 可以实现对客户端的远程操作和管理了了,这种连接技术一般用于被控端固定不 变的远程控制或远程监控领域;反弹连接也叫被动连接,是由客户端去向服务器 端提出被控请求,服务器同意客户端的请求后便可创建实现远程管理与操作。与 正向连接不同,在反弹连接中,除非客户端主动发出被控请求,否则服务器不会 主动尝试去连接客户端。 远程协助系统一般支持下面的这些网络连接方式:l a n 、w a n 、拨号方式、互 联网方式。此外,有的远程协助软件还支持通过红外端口、串口、并口、蓝牙和 3 g 来对远程的计算机进行控制。远程协助技术已经广泛应用于以下场合: 1 远程技术支持 通常,远距离的技术支持必须依赖于技术人员和用户之间的电话交流,这种 交流既比较耗时又容易出错。但是通过远程协助技术,技术人员便可以远程操作 用户的计算机,就像直接操作本地计算机一样方便,只需要用户的简单协助便可 电子科技大学硕士学位论文 获得该机器存在的故障的第一手材料,很快便可以找到问题之所在,并予以解决。 2 远程交流 利用远程技术,商业公司可以实现和用户的实时的远程交流,采用交互式的 教学模式,使用实际操作来培训用户,使得用户从技术支持人员那里学习示例知 识变得非常容易。而教师和学生之间也可以利用这种远程交流技术实现教学问题 的探讨交流,学生不用见到老师,便可得到老师手把手的辅导和讲授。学生还可 直接在计算机中进行习题的演算与求解,在此过程中,教师也能够轻松查看学生 的解题思路与步骤,并加以实时指导。 3 远程维护和管理 网络管理员或者技术支持人员可以通过远程协助技术为远端的计算机安装和 配置软件、下载和安装软件补丁程序、安装配置应用程序和进行系统软件的设置。 4 计算机远程诊断 当用户的计算机出现问题时,技术支持人员可通过远程协助技术对用户的计 算机做出诊断,查找出故障原因,并提供适当的解决方案,不仅大幅度的提高了 解决问题的速度,也节约了维护的成本。 目前的远程协助类软件有很多,用户使用较多的有w i n d o w s 自带的远程协助、 o q 远程协助、c r o s sl o o p 、t t v n c 等,这些产品的服务器端和客户端都是计算机。 还有一类运行在w i n d o w sm o b i l e 和p a l mo s 等智能终端的软件也可以对计算机和 其它智能终端进行一些简单的远程管理和操作,这些产品也可以被归类为远程协 助系统。这些产品的功能和使用场合各有不同,在易用性、安全性和可靠性方面 也有差别。 1 3 本论文研究的目的及意义 虽然现在的远程协助类软件有很多,但是它们却有着一个显著的共同点:客 户端( 即受控端) 运行在安装有操作系统的计算机或智能设备上。这个特点决定了 客户端能够正常工作的前提是操作系统正常运行,当操作系统无法正常运行时, 受控端也必然会受到影响。w i n d o w s 是市场占有率最高的操作系统,而该平台的 病毒和木马层出不穷,虽然系统奔溃的情况与以前相比少了很多,但因其自身的 原因,不可能做到完全杜绝系统运行异常和奔溃。 为此,本文中提出了固件软件相结合的方案,它充分利用了e f ib i o s 这一 4 第一章绪论 新的b i o s 平台的优良特性,为用户和技术支持人员提供了一个全新的远程协助系 统方案。本方案在e f ib i o s 中实现文件级别的管理、硬件信息的诊断等功能,并 且这些功能都既可以由本地用户通过图形界面使用,也可以由远程用户通过服务 器端使用。方案具有以下特点: 1 高可靠性;该系统的客户端运行在b i o s 之中,以固件的形式存在,完全独立 于操作系统。因而操作系统中的病毒或木马程序不会影响到客户端的正常运 行,即使客户端的操作系统崩溃了,本系统依旧可以正常运行。 2 高可用性;本系统即可以对能够正常启动操作系统的机器进行远程协助,也可 以对无法正常启动或者和未安装操作系统的“裸机进行远程协助,而传统的 远程协助系统都只能运行在安装有操作系统且能正常运行的机器上。 3 界面友好;本方案采用了e f i 提供的图形库函数,开发的客户端用户拥有友好 的用户图形界面,且支持鼠标操作,给用户提供了极大的易用性。 4 可扩展性;基于e f i 框架开发应用程序可以很方便的添加新的功能和新的模 块。 1 4 论文组织结构 本文主要分为以下章节 第1 章介绍了远程协助技术的意义、发展状态及研究现状,并针对远程控 制技术的研究现状阐述了本课题研究的目的及意义。 第2 章概述了i n t e l 公司的新一代b i o s 可扩展固件接v i ( e f i ) 的层次框架、 主要模块及相关的内容。 第3 章介绍了基于e f ib i o s 的远程协助系统的整体架构,论述了所要实现 的基本功能。 第4 章对基于e f ib i o s 的远程协助系统客户端的进行了分析和设计,包括 关键技术的介绍、系统架构的设计、模块设计和一些关键模块的实现,着重介绍 了网络模块和功能层的设计。 第5 章对基于e f ib i o s 的远程系统服务器端进行了分析和设计,包括系统 架构的设计和重要模块的设计。 第6 章是对整个方案设计和实现的总结,并提出了可改进之处和未来工作方 向等。 电子科技大学硕士学位论文 第二章e f ib l o s 平台架构概述 可扩展固件接口规范( e x t e n s i b l ef i r m w a r ei n t e r f a c es p e c i f i c a t i o n , e f i ) 是由英特 尔为其队6 4 架构服务器所开发的o s 与平台固件之间的接口规范,被看作是有着 近2 0 多年历史的计算机b i o s 的继任者。e f i 可应用于采用认3 2 和认6 4 架构的 所有平台,包括手持设备、台式机、笔记本电脑和服务器。同时,e f i 为o e m 厂 商实现产品的差异化提供了极大的可扩展性和可定制性。e f i 提供了从传统的 “p c a t 的启动方式到全新的启动方式的一条渐进的道路。 2 i 传统b i o s 方案的局限 传统b i o s 规范从p c a t 时代起就一成不变,它已经不能很好地适用于日趋 复杂的现代计算机的体系架构,并且阻碍了新的平台技术的引入。每当新平台功 能或者新硬件出现时,固件开发商都必须不断开发新的解决方案,同时还经常需 要操作系统的开发商也做出相应修改以配合他们新的启动代码,经过以上步骤, 消费者们才能真正受益于新的发明。这个过程相当耗时,并且需要投入相当大的 资源。传统的b i o s 规范的缺陷有: ( 1 )1 6 位的实模式使b i o s 的寻址空间仅限于1 0 2 4 字节,这极大地浪费了认3 2 架构所提供的资源,并且无法应用于执6 4 架构。 ( 2 )仅能由汇编语言开发,极大地限制了b i o s 开发效率,造成b i o s 的开发技 术仅仅掌握在少数的人手中。 ( 3 )b i o s 的界面单调死板,可操控性和易用性很差。 ( 4 )b i o s 标准规范不统一,开发厂商各自为政,相互之间也互不兼容。 2 2e f i 规范的优点和特性 为了克服现有b i o s 的诸多缺陷,英特尔公司发布了全新的b i o s 体系规范 e f i 。e f i 标准规范的主要目标在于提供一组在操作系统加载之前在所有的平台上 6 第二章e f ib i o s 平台架构概述 都一致的引导信息和运行服务,它为各自为政的b i o s 开发提供了统一的规范,使 得固件开发过程中的众多环节得以简化。该标准规范的主要特点如下: ( 1 ) 一致的可升级平台环境;e f i 规范完整定义了固件的平台特性及平台在启动过 程中给操作系统所提供的功能,这些定义在所有的认架构系统( 包括个人计算 机、服务器和其它认架构的设备) 都是一致的。 ( 2 ) 为操作系统提供了一致的固件接口;规范定义了一组平台抽象接口,这组接口 可以供操作系统调用。通过调用这组抽象接口,可以使操作系统引导程序( o s l o a d e r ) 的实现与接口以下的硬件平台和固件无关。这组固件抽象接口位于平台 固件和o sl o a d e r 之间,这样可保证平台固件和o sl o a d e r 能够在遵守接口定义 的前提下更改而互不影响。 ( 3 ) 合理的设备抽象;p c a t 的b i o s 接1 :3 需o sl o a d e r 了解特定硬件设备的工作 细节。而在e f i 规范下,o sl o a d e r 的开发人员却无需去关注设备的工作细节, 他们仅需针对e f i 所提供的设备抽象接口编程即可,这大幅度减轻了o sl o a d e r 开发人员的工作负担和开发量,大大提高了开发的效率。 ( 4 ) o p t i o nr o m s 的抽象;e f i 规范定义了硬件平台的功能接口,包括标准总线类 型,例如p c i 、u s b 、s c s i 等等。为了能够支持新出现的总线类型和将来可能 出现的总线类型,e f i 规范定义了e f i 驱动模型( e f id r i v e rm o d e l ) 。e f i 驱动 模型不像传统b i o s 那样采用中断来管理硬件,而是采用操作系统中的驱动程 序的形式来管理硬件资源。e f i 驱动模型可以兼容“p c - a t ”o p t i o nr o m s ,使 原有的设备在新的系统依然能够正常工作。与o sl o a d e r 所类似,e f i 的驱动程 序也调用平台固件所提供的抽象接口,这样设备驱动和总线驱动的构建就可以 大大降低接口下面的硬件平台及固件的相关性。 ( 5 ) 可共享架构的系统分区;扩展硬件的平台功能和添加新的设备经常要求相关软 件的支持,在一般情况下,底层硬件需要更新固件平台的相关代码来支持。传 统解决方案是在生产硬件平台的时候便嵌入这些代码( 如烧入f l a s h 存储设备 中) 。而作为对传统的解决方案的补充,该规范规定了使用磁盘和其它的介质 存储平台相关支持代码的方式。相关的工作机制在e f i 规范中有详细的描述, 以保证固件开发者、操作系统厂商、o e m 厂商和第三方在添加平台功能的时 候可以有安全的共享空间。 e f i 规范的这些优良特性使得e f i 平台能够提供一整套健壮的统一的框架接 口,它使得b i o s 开发商和其它相关厂商能加速平台的创新过程,并且在加速平 台固件设计工作的同时还可以保持自己产品的特点。而对b i o s 的使用者而言,e f i 7 电子科技大学硕士学位论文 无需使用者去面对单调的复杂的传统b i o s ,甚至通过鼠标便可完成相关操作。此 外,e f ib i o s 强大的可扩展性和优良的架构使第三方厂商能够开发出一些原本仅 可以运行在操作系统之上的应用程序,在操作系统运行之前就能够完成一些稍微 复杂的功能。e f i 不仅可用于p c 和服务器上,理论上,凡是基于i a 3 2 和认6 4 架 构的产品都可使用e f i 。与以前认架构的系统所使用的固件相比,它主要有以下 一些特点: 模块化的组件设计。 基于c 语言的固件的开发。 可以支持未来平台新功能和新特性的灵活设计。 从手持设备到高端服务器的各类平台拥有同样的代码基础 2 3e f i 的基本架构 e f i 规范是一个公开的标准接口,它不依赖于某一个特定的b i o s 制造商或某 一个特定的b i o s 实现,它只定义了平台所必须要实现的接口以及操作系统可能将 要使用到的一些接口和数据,其实现的方式与细节均取决于具体的实现厂商。e f i 定义的e f i 驱动程序模型7 9 1 ,保证所有遵循该模型的驱动程序都可以相互协作。 虽然e f i 的实现方式和实现细节可能不同,但是其基本的框架和结构是一致的。 操作系统 图2 1e f i 基本架构 第二章e hb i o s 平台架构概述 图2 - 1 展示了e f i 基本架构及其相关组件和平台硬件以及与o s 之间的关系 1 0 - 1 1 】。此外,图2 1 还展示了e f i 平台架构的各个模块与整个系统在启动操作系 统时的交互过程;平台固件用于从e f i 系统分区中调入o sl o a d e r 的镜像,而e f i 不仅支持从磁盘、c d 和d v d 等大容量存储介质启动o sl o a d e r ,甚至还可以支持 从网络启动。另外,如果需要添加其他启动介质,可通过修改o sl o a d e r 来实现。 启动o sl o a d e r 后,将由o sl o a d e r 来完成整个操作系统的启动。而要完成此项功 能,o sl o a d e r 需要调用e f i 的启动时服务( b o o ts e r v i c e s ) 和相关接口,并初始化与 平台固件相关的各个组件以及操作系统中对平台进行管理的模块。而e f i 的运行 时服务( r u n t i m es e r v i c e s ) 可以在操作系统启动后使用n 纠副。 2 4e f i 架构的基本组件 e h 是由一些基本的组件组成的,了解这些基本组件对开发e f i 平台的应用程 序和驱动程序是必不可少的,这些基本的组件包括: e f i 启动管理器( e f ib o o tm a n a g e r ) e f i 内核( f i r m w a r ec o r n ) e f i 协议( e f ip r o t o c 0 1 ) e f i 驱动模型( e f id r i v e rm o d e l ) 2 4 1e f i 启动管理器 e f ib i o s 平台的启动是通过启动管理器控制的,首先进行的是平台固件的初 始化,之后开始加载e f i 驱动程序和e f i 应用程序以便进行一步的初始化以丰富 平台的功能,接着加载一种特殊的e f i 应用程序操作系统加载器( o sl o a d e r ) ,之 后系统控制权会转交给操作系统加载器,此时e f i 的启动服务( e f ib o o ts e r v i c e s ) 将被终止,而e f i 运行时服务( e f ir u n t i m es e r v i c e s ) 在进入操作系统后将依然有效。 e f i 启动管理器的功能是使用e f i 所支持的分区中任意文件或e f i 所定义的镜 像文件的l o a ds e r v i c e 来加载e f ia p p l i c a t i o n 和e f id d v e r 。e f i 镜像文件是由e f i 规范所定义的可执行代码的文件格式。e f i 镜像文件最显著的特征是在文件头部的 最i i 端的一段字节中定义了可执行镜像的编码的格式。e f i 镜像文件一般被编译为 可重定位的代码,所以e f i 镜像文件可以被l o a d l m a g e ( ) h 务装载到系统内存的任 何地方,一旦镜像装载入系统内存并且相关的工作就绪以后,控制权就将转交给 9 电子科技大学硕士学位论文 已装载好的镜像文件。e f i 镜像文件可以分为以下的两大类: ( 1 ) e f i 应用程序:e f i 应用程序是e f i 镜像文件的其中一种,可以由e f ib o o t m a n a g e r 或者其它的e f i 应用程序加载执行,其执行过程是从函数入口地址开 始,直到从入口点地址返回或者调用了e x i t ( ) i 垂i 数。为了加在一个e f i 应用程 序,固件需要先分配足够的内存,并拷贝应用程序到分配的内存中,还可能 要进行地址重定位等修复工作。当这些工作完成后,所分配的内存类型会依 据镜像文件的类型进行设置。此后控制流会转到执行镜像文件的入口,而当 控制流从应用程序入口处地址退出或者当它调用启动服务e x i t ( ) 时,应用程序 将被从内存中卸载,而控制权会被交还给调用此应用程序的e f i 组件。e f i 应用程序可以对固件平台的功能进行扩展。此外,有些平台组件亦是以e f i 应用程序的形式存在,比如e f i 操作系统加载器( e f io sl o a d o r ) 。 ( 2 ) e f i 驱动程序;e f i 驱动程序的主要作用是在e f i 环境( 操作系统启动之前) 实 现对硬件资源的访问和管理,该驱动不会取代操作系统中的设备驱动程序。 e f i 驱动程序可以通过e f i 启动加载器或其他e f i 应用程序来加载。为加载 e f i 驱动程序,平台固件需要提供足够资源来把应用文件的分段拷贝到分配的 内存中,如果有必要,还需进行地址重定位修复等工作。一旦这些工作完成 以后,所分配的内存的类型将会根据镜像文件的类型进行设置。当控制流从 驱动程序入1 3 处返回或者当它调用启动服务e x i t ( ) 时,驱动程序被有选择的从 内存中卸载,然后控制权又交还给加载该驱动程序的e f i 组件。 e f i 驱动程序有两种:运行驱动程序和启动时驱动程序。二者唯一的区别在于 运行时驱动程序在o sl o a d e r 中调用了服务e x i t b o o t s e r v i c e s 0 ,当进入操作系统后 该驱动程序依然可以使用;而启动时驱动则在服务e x i t b o o t s e r v i c e s o 被调用后终 止,所有启动时服务驱动消耗的内存资源将被释放,在o s 环境中也可使用这些内 存。e f i 在n v r a m 中存放了一些变量,这些变量存放着指向所要加载文件的指 针和一些系统启动的信息,这些启动信息能针对安装的多个o s 生成多重启动菜单 存放在n v r a m 中,不过,e f i 规范仅规定了一些启动选项,并未有具体实现。 e f i 启动管理器可对o sl o a d e r 的启动菜单和e f i 平台固件启动菜单进行组 合,生成一个统一的固件启动引导菜单,该菜单会选择e f i 启动服务( e f ib o o t s e r v i c e s ) 所支持的启动设备中任何一个分区的操作系统加载器( o sl o a d e r ) 。因为 e f i 不对硬盘的引导扇区( b o o ts e c t o r ) 进行任何的改动,所以可以创建既支持传统 引导启动又可以支持e f i 平台引导启动的启动磁盘。e f i 平台的启动过程如图2 2 所示: l o 第二章e f ib i o s 平台架构概述 2 4 2e f i 协议 c = = := = :参v a l u ea d di m p l e m e n t a t i o n n e f ib i n a d e s 、- _ 图2 - 2e f i 启动过程 协议是e f i 中最为重要的定义和设计之一,e f i 中几乎所有的功能的实现都要 基于对协议的使用,e f i 之所以具有较强的扩展的特性在很大程度上就是因为协议 的引入。协议( p r o t o c 0 1 ) 是对于e f i 平台中设备的抽象,通过特定协议提供的接口 可对相应设备进行操作,它被定义成一种由唯一的全局标识符( g u i d ) 表示的数据 结构,它可以为空,也可以是包含数据域或服务例程的入口地址。 一个或几个协议的集合叫句柄( h a n d l e ) 。当系统固件处于e f i 的初始化阶段时, 每个e f id r i v e r 和e f ia p p l i c a t i o n 都可能生成句柄且将一个或多个的协议挂载到句 柄之上,以构成句柄数据库。旬柄数据库是全局的,可被所有的e f i 镜像文件所 访问。句柄数据库是e f i 中管理各种对象的存储仓库,它维护着一个包含所有句 柄的列表,并为每一句柄分配一个唯一的标识符,这是标识符提供了访问该句柄 的“键值”。句柄库可以被看作是e f i 所维护的一个数据库,结构上就是一系列 的句柄串,每一个句柄由唯一的句柄号来表示,句柄号则是找到一个句柄的钥匙, 而每一个句柄又是指向一个或多个协议的指针。协议类型由g u i d 来确定。一个 句柄及它指向的协议可以代表e f id r i v e r 或e f ia p p l i c a t i o n ;例如网卡适配器、磁 盘分区的硬件设备等。 一个e f i 句柄可能包含有以下几种对象中的一种: e f i 镜像文件;如e f i a p p l i c a t i o n 、e f id d v c r ; 巍 电子科技大学硕士学位论文 硬件设备;如网络控制器、硬盘分区等; e f i 服务例程;如解压缩服务、e f i 字节码虚拟机等 图2 3 展示了句柄数据库中旬柄与协议的关系。由图2 3 可以看出,除了句柄 与协议外,每个协议还附加了一个协议使用者列表。通过该列表,可以获取哪些 程序正在使用哪些协议的列表,这对于安全地加载、启动、停止、卸载e f id r i v e r 十分关键。 f i r s th 均棚e g u i d p f o t o e o i i 丘e 瓜c e i n s t a n c 慧 d a t a i m a g eh a a d l e c o n r e l i e ri h a l e a t t r i b u t e s i m a g eh a n d l e c e a r o l l e rh 1 l 堪k a t t r i b u t e s 图2 - 3 句柄数据库 e f i 协议是一个结构体,通常由三部分组成:g u i d ( 全球唯一i d ) ,协议接口 结构和协议服务。g u i d 是1 2 8 位的,它是协议的编号,也是每个协议所必须包含 的对象。通过g u i d ,e f i 可在句柄数据库中检索到相应协议。e f i 协议含有一些 指向功能函数的指针和数据结构,即协议的接口结构。在e f i 中,协议除了必须 定义的g u i d ,其它的都可以为空。协议接口结构可以仅仅定义指针和有关功能函 1 2 第一章e f i b i o s 平台架构概述 数的上下文而无具体的函数体,数据结构也可为空或包含数据域和服务。图2 - 4 表示e f id r i v e r 在旬柄数据库中构建一个旬柄并挂载其上的一个协议: r l r 一 眶 幽2 - 4 协议的创建 在系统启动的过程中,任何e f i 代码都可以调用和访问句柄数据库中的协议, 而当启动过程结束即将进入o s 之时,句柄数据库会则会被销毁,其中的协议也随 之被销毁。 2 4 3e f i 内核 e f i 内核是e f i 的核心部分,它通过定义一系列通用的抽象的接口,为已被 加载的e f i 镜像文件( 包括e f i 驱动程序、e f i 应用程序和e f i 操作系统加载器) 提 供一个通用引导环境。通过对这些抽象接几的调用a r 将硬件抽象化,使得平台与 操作系统可咀互相独立地进行发展和创新。e f i 内核中主要提供两种类型服务,e f | 启动时服务( e f ib o o ts e r v i c e s ) 和e f i 运行时服务( e f ir u n t i m es e r v i c e s ) ,下面进行 详细的介绍: 电子科技大学硕士学位论文 e f i 引导服务伍1 ;1b o o ts e r v i c e s ) e f i i 3 i 导服务是由e f i 内核( e f ic o r e ) 所提供的在e f i 环境使用的服务,而在操作 系统中这些服务无法失效。e f i 弓i 导服务的功能是控制和管理硬件资源,并提供一 个在o s 运行之前的可执行环境,丰富和扩展了平台固件的功能。e f i 引导服务提供 了一系列的接口实现对服务的使用,这些函数类型可分为g l o b a l 和h a n d l e - b a s e d 两 种。g l o b a l 函数在所有平台上有效,h a n d l e - b a s e d 函数仅在部分平台上有效。e f i 应用程序和o sl o a d e r 必须使用引导服务来访问硬件设备和分配内存。加载镜像文 件时,e f i 镜像可得到一个指i 句e f i 系统表( e f is y s t e mt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 隧道机械化施工中的设备管理策略与实施计划制定研究考核试卷
- 铅酸电池的循环利用与环保技术考核试卷
- 货运火车站物流企业绩效管理体系构建与实施考核试卷
- 陶瓷艺术工作室运营与管理考核试卷
- 铜冶炼厂的安全管理体系构建与运行考核试卷
- 小儿常见眼部疾病诊疗与预防
- 食品营养与卫生
- 脑血管疾病的营养管理
- 呼吸科评分量表临床应用与管理规范
- Glisoprenin-A-生命科学试剂-MCE
- 造纸术的课件
- 设备维修与保养培训
- 小学生防治碘缺乏病
- 商业街区广告牌更换施工方案
- DB21T 3806-2023 电梯检验检测全程录像工作规范
- 图论及其应用知到智慧树章节测试课后答案2024年秋山东大学
- 图书选品与陈列艺术研究-洞察分析
- 【MOOC】电子技术实验基础一:电路分析-电子科技大学 中国大学慕课MOOC答案
- 【MOOC】经济数学-微积分(二)-武汉理工大学 中国大学慕课MOOC答案
- DB22T 3053-2019 地理标志产品 乾安羊肉
- 《药物代谢学》课程教学大纲
评论
0/150
提交评论