版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式系统的虚拟化小设备虚拟机监控程序的方式和原因M.TimJones,平台架构师,Intel简介:当今的技术新闻充斥着服务器和桌面机虚拟化的故事,但还有一种虚拟化技术发展迅猛:嵌入式虚拟化。嵌入式领域包含几个有用的虚拟化应用领域:移动手持式设备、安全性内核和并发性嵌入式操作系统。本文探索嵌入式虚拟化领域,解释嵌入式虚拟化进入您身边的嵌入式系统的原因。本文的标签:虚拟化标记本文!发布日期:2011年5月11日级别:中级原创语言:英文访问情况5466次浏览建议:0(添加评论)平均分(共11个评分)不仅仅只有虚拟化创造的市场和机遇正在“爆炸”,虚拟化的变体也在增长。尽管虚拟化诞生于大型机,但它在服
2、务器中占据了关键位置。对于大量工作负载而言,服务器利用率很低,而虚拟化允许在单个服务器上托管多个服务器实例,从而减少成本、管理和固定资产。因此,虚拟化以“II型”(或托管)虚拟机监控程序的形式进入消费者领域,虚拟机监控程序允许在单个桌面机上同时运行多个操作系统。下一个创新是虚拟化的桌面机,允许一个服务器使用最少的客户机端点通过一个网络托管多个客户机(瘦客户机)。但在今天,虚拟化正在进入一个新的海量空间:嵌入式设备。鉴于虚拟化实现的优势持续增长,这种演变并不那么令人吃惊。虚拟化在IBM大型机上诞生并发展,然后随着计算技术的演变进入服务器、桌面机和现在的嵌入式设备。上世纪90年代,虚拟化发展到大型
3、机之外,借助原生微处理器的支持,经历了一次复兴(见图1)。图1.I型虚拟机监控程序的简单时间线M44X1啊酮|*沁|1本文将探索其中的一些应用领域,展示虚拟化如何延伸其触角,找到新的应用领域。本文还将探索开源技术在虚拟化应用过程中的引导作用。嵌入式虚拟化是指嵌入式系统中部署的I型虚拟机监控程序。但是,这种说法有些自相矛盾。嵌入式系统的一种定义是:设计用于执行少数专用功能的计算机系统。但如果向嵌入式系统添加一个虚拟机监控程序,将添加灵活性和一些高级功能,将嵌入式设备转变为一种新型系统。微核的关键抽象1995年,JochenLiedtke定义了微核中必须提供的三个关键抽象:地址空间(用于隔离)、线
4、程(用于并发性)和进程间通信(用于独立的地址空间中的线程之间的通信)。虚拟机监控程序是一种特殊操作系统,直接在裸机上运行(针对I型虚拟机监控程序情况)。虚拟机监控程序创建一个底层硬件平台抽象,这样,一个或多个虚拟机(VM)无需知道它们共享平台即可使用这个底层硬件平台。在这种环境中,VM只是操作系统及其应用程序的容器。这种环境的一个有趣的优点是一个VM与虚拟机监控程序上运行的其他VMs隔离,这支持多个操作系统或多个配置不同的相似操作系统。这种隔离还提供一些好处,我们将稍后介绍。另外,嵌入式虚拟机监控程序是一个虚拟平台和一个微核的混合物(见图2)。这种状态允许虚拟机监控程序支持VMs(操作系统和应
5、用程序)和单独的应用程序。图2裸机操作系统和虚拟机监控程序ApplicatiansApplicatiorsOSOSVM7MHypervisordesktopApplcationsEiribddatld品i悦尽管嵌入式设备一直受到严格的资源限制,但今天的设备范围广泛:从拥有服务器级功能(比如对虚拟化的硬件支持)的强大处理器到拥有计较少容量和资源的功耗优化系统。对于嵌入式虚拟机监控程序,这种多样性创建了一个比它们的大型机和服务器“兄弟”要求更高的环境。回页首嵌入式虚拟化的特征与传统虚拟机监控程序不同,嵌入式虚拟机监控程序实现了一种不同的抽象,拥有与其他平台不同的限制。本节探索嵌入式空间中提供的一些
6、限制和功能。效率所有虚拟机监控程序都致力于提高效率,但嵌入式虚拟机监控程序必须处理在传统虚拟化环境之外添加的限制。因此,嵌入式虚拟机监控程序必须规模小,且拥有极高的内存使用效率。安全性规模小有其优势。应用程序的代码越小,就越容易验证和证明它是没有bug的。事实上,有些嵌入式虚拟机监控程序供应商已经正式验证了他们的虚拟机监控程序,并保证它们没有bug。虚拟机监控程序越小,平台就可能越安全可靠。这是因为虚拟机监控程序通常是系统惟一以特权模式运行的部分,充当所谓的可信计算基(TrustedComputingBase,TCB),形成一个更安全的平台。通信嵌入式虚拟机监控程序的目的在于与多个来宾和应用程
7、序共享一个硬件平台,但通常还扩展一些通信方法以便它们交互。这个通信通道既有效又安全,允许特权和非特权应用程序并存。隔离隔离来宾和应用程序的能力与安全性相关。除了提供安全性和可靠性的容器之外,这种能力还提供许可隔离方面的好处。使用嵌入式虚拟机监控程序的通信机制允许专有软件和开源软件在隔离的环境中共存。随着嵌入式设备变得更加开放,混合专有软件和第三方或开源软件的愿望成为一个重要需求。实时功能最后,嵌入式虚拟机监控程序必须支持拥有实时功能的调度。对于手持式设备,虚拟机监控程序能够与核心通信功能和第三方应用程序共享平台。具有实时特征的调度允许这些关键功能与一些尽力运行的应用程序共存。回页首嵌入式虚拟机
8、监控程序示例已经出现了几个用于处理嵌入式领域中的应用程序的虚拟机监控程序一它们不仅来自开源社区,而且还有一些专有版本。VMware引入了MobileVirtualizationPlatform来处理一个日益普遍的使用模型:商用和个人智能电话。通过在一部智能电话上采用一个嵌入式虚拟机监控程序,单个设备可以通过在单独的容器(VMs)中隔离两个使用模型同时用于安全的公司用途和个人用途。下面我们探索一些处理这种和其他用途的解决方案(包括开源方案)。PikeOSPikeOS是一个有趣的架构,因为它主要实现了一个所谓的分离内核(separationkernel)。与虚拟机监控程序类似,分离(或分区)内核安
9、全地隔离上级来宾的环境oPikeOS用于处理航空电子工业中安全性至关重要的航空电子应用程序。引入一个嵌入式虚拟机监控程序允许在同一个平台上同时使用较早的遗留应用程序(在一个VM中)和更新的应用程序(见图3)。图3.PikeOS嵌入式虚拟化Panilions.VMVMVMAjplications1AopiicaiticnsIIPikeOS|-RTEikeOSsystemftw-arePiKeOSseparationinicrokernelArcbitecturefplEtform咅upportpackagesEmbeddedde-vice在内核领域中,PikeOS实现了一套架构和平台支持包,用于
10、特殊的硬件环境(x86、PowerPC、SuperH等)以及提供虚拟化平台的分离微核。PikeOS不仅支持来宾操作系统(及其关联应用程序),还支持针对一个特定问题领域的更简单的应用程序编程接口和运行时环境(RTE),比如PikeOS原生接口和实时Java0PikeOS系统软件层向来宾分配资源(空间和时间)。此系统依赖半虚拟化,以便来宾操作系统意识到它们已被虚拟化。尽管通常用于航空电子工业,但PikeOS不久以后有可能通过AutomotiveOpenSystemArchitecture(AUTOSAR)进入您的汽车。您可以在参考资料中了解更多信息。OKL42006年,OpenKernelLabs
11、(OKLabs)创立,致力于为嵌入式系统开发微核和虚拟机监控程序。这个实验室在这些领域中的工作创造了一个术语:microvisor表示一个具有虚拟化功能的微核。OKLabs在嵌入式虚拟化领域中取得了迄今为止最大的成功,其开源OKL4microvisor已部署到超过10亿台设备中,比如EvokeQA4消息传递电话一第一部支持虚拟化和两个并发操作系统(包括Linux)运行的电话。OKL4继承了L4微核系列(由JochenLiedtke开发)的遗产。L4的灵感来自Mach,Mach是卡内基梅隆大学开发的微核,作为传统UNIX内核的一个“简易(drop-in)”替代者。L4最初完全在x86Assemb
12、ly中设计,以便实现一个最优解决方案。后来,它用C+开发,现在存在于一系列微核中:从L4Ka:Hazelnut(针对IntelArchitecture、32位和基于ARM的架构设计)到L4Ka:Pistachio(针对平台独立性设计,在BerkeleySoftwareDistribution许可下发布)。OKL4实现了名为安全单元的分区,用于对此架构中的VMs进行分区。OKL4microvisor占据了特权内核空间,所有VMs、原生应用程序和驱动程序被推到单独的隔离分区中,一种高效的进程间通信(InterprocessCommunication,IPC)机制允许各单元进行通信和合作(见图4)。
13、除VMs之间的传统IPC夕卜,由于硬件设备驱动程序被推到microvisor之外(这在微核中很常见),因此这种IPC很重要:这是一种公共路径输入/输出。另外,由于单独的应用程序和驱动程序可以集成到没有操作系统的平台,因此OKL4的组件模型是轻量级的。图4.0KL4microvisorSecureeel13UserApplibQn?Applioabpn?Linux1AndroidAppiicationsJnv&rs二Jt5Asi1亡1i.KernelLOKL4imicraiiorrmbeddaddevicemicrovisor实现了具有虚拟化功能的核心微核,这些功能包括资源管理以及具有实时功能和
14、低性能开销的调度功能。OKL4实现了半虚拟化,意味着操作系统必须能在microvisor上运行。OKLabs提供了对几个半虚拟化的操作系统的支持,这些操作系统包括:OK:Linux、OK:Android和OK:Symbian。NOVA2010年,NOVA微虚拟机监控程序问世。与此前的微核架构类似,NOVA实现了一个瘦微核,包含一些用于非特权代码的独立层。NOVA利用新硬件平台的虚拟化功能来提高基于组件的系统的性能。NOVA包含一个微虚拟机监控程序和用户级环境,用于系统的核心功能。这些核心元素(如图5所示)包括:一个根分区管理器(用于管理微内核外的资源分配)、底层硬件设备的驱动程序、用于每个来宾
15、管理(来宾和主机之间的)内存映射的VM监控器(VMM)以及敏感指令模拟。NOVA实现了全面虚拟化,因此某些指令(比如x86CPUID)必须针对每个来宾、根据其配置恰当模拟。VMM还为每个来宾可用的设备实现了设备模拟。由于NOVA实现了全面虚拟化,因此支持未更改的来宾操作系统。图5.NOVA微虚拟机监控程序架构GuestuserVMVMIHMMKeiri&lNOVAricrahyprisir微虚拟机监控程序本身实现了调度器、内存管理和消息传递通信接口,以及其他核心特性,比如保护域(用于空间隔离)和调度上下文(用于临时隔离)。NOVA被视为一个第三代微核,它的前辈包括Mach和Chorus(第一代
16、微核)以及L4(第二代微核)。CodezeroCodezeroEmbeddedHypervisor是一个遵循LR架构的新微核,但经过彻底重写,以利用微核设计中的最新研究成果。它遵循微核的基本原理,因为它只在特权微核中实现地址空间、线程管理和IPC,以及一些虚拟化功能。如图6所示,Codezero在硬件平台上实现了一个典型的抽象层,这个抽象层实现了线程处理、IPC、地址空间管理、地址空间映射、安全性、电源以及错误恢复管理。Codezero的调度器包含针对来宾线程和微核线程的内核优先(以及用于优先的时间片)。Codezero中的虚拟化通过容器实现。每个容器都是一个隔离的执行环境,包含自己的资源集(
17、内存、线程等)。这种分区还与Codezero的安全性和资源管理策略协同工作,这些策略定义每个容器的功能。图6.嵌入管理程序架构的CodezeroUserLinuxApplicationsKerralCODEZrOnnbeddedhypervisorCodezero受益于最新微核设计成果。为提高效率,Codezero实现了三种IPC(全部基于约会模型rendezvousmodel)。Codezero实现了短IPC(在用户空间线程之间)、全面IPC(256字节)和扩展IPC(2048字节)。大型缓冲区的IPC通过共享页面映射执行。Codezero还专门针对嵌入式系统设计,支持多核处理器和基于ARM
18、的设计。回页首嵌入管理程序的应用程序嵌入管理程序的应用程序正在不断增多。当今最常见的应用领域之一是移动电话,在移动电话中,可信和安全的应用程序(基带管理)与第三方和不可信的应用程序共享平台。虚拟机监控程序提供的隔离是它们在这个领域获得成功的一个关键因素。随着操作系统和应用程序的发展,快速增长的平板电脑市场也会出现这种技术的应用。但嵌入式虚拟机监控程序的应用延伸到手持式设备和平板电脑之外。深度嵌入的航空电子和汽车应用程序也正在利用虚拟机监控程序的隔离和可靠性。关注安全性、耐受性和高度可配置性的系统也在利用这种技术。回页首嵌入式虚拟化的未来正如您所看到的大量嵌入式虚拟机监控程序示例所示,微核可能是
19、它们的架构和实现中的一种常见设计模式。这种方法通常精简高效,有利于提高性能,减少代码,改善安全性和可靠性(以TCB为基础)。虚拟机监控程序将继续作为一个有趣的研究目标,开拓新的应用领域。虚拟化和嵌入式系统的下一步发展肯定非同寻常,让我们拭目以待。参考资料学习要深入了解嵌入式虚拟化,请参阅关于嵌入式虚拟机监控程序的Wikipedia页面。您还可以在虚拟机监控程序和分离内核上找到更多信息。虚拟化有多种风格。本文展示了嵌入式虚拟化,您可以在“虚拟Linux”(developerWorks,2006年12月)中了解其他一些选项。您还可以在探索Linux内核虚拟机(developerWorks,2007
20、年4月)和使用QEMU讲行系统仿真(developerWorks,2007年9月)中深入了解内核虚拟机和QEMU的更多详细信息。阅读实时Linux架构剖析(developerWorks,2008年4月),了解更多观看developerWorks演示中心,包括面向初学者的产品安装和设置演示,以及为经验丰富的开发人员提供的高级功能。在developerWorksLinux专区寻找为Linux开发人员(包括Linux新手入门)准备的更多参考资料,杳阅我们最受欢迎的文章和教程。在developerWorks上查阅所有Linux技巧和Linux教稈随时关注developerWorks技术活动和网络广播获得产品和技术PikeOS是一个有趣的嵌入式虚拟机监控程序(和分离内核)示例。PikeOS广泛应用于航空电子系统,且正在(通过AUTOSAR)讲入汽车系统。OKLabs从零开始研发了一个嵌入式虚拟机监控程序OKL4Microvisor。OKL4继承了L4微核的遗产,广泛应用于移动电话行业。可以从OKLabs的wiki页面下载OKL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路安全管理培训课件
- 煤炭投资合同2026年担保条款
- 翻译鉴赏笔试题及答案
- 城管考试招聘试题及答案
- 美发师吹发技术题目及分析
- 中学教师资格证试卷及详解
- 细胞生物学复习题库及分析
- 电工初级理论试题及分析
- 网络工程师计算机网络基础试卷及分析
- 机械技术基础及设计 111
- 重庆南岸区2026年九年级质量监测英语试卷试题(含答案详解)
- 潍坊市工程技师学院招聘事业单位教师笔试真题2025
- DB13-T 1545-2025 预拌混凝土质量管理规程
- 五年级下册数学思维训练:分数的意义和性质
- T-CACM 1295-2019 中医整脊科临床诊疗指南 颈椎管狭窄症
- 护理人力资源调配管理
- 西交利物浦大学《互联网金融》2023-2024学年第一学期期末试卷
- 乡卫生院在预防艾滋病母婴传播中的性别平等与妇女权益保护
- GB 15979-2024一次性使用卫生用品卫生要求
- (高清版)JTG 5210-2018 公路技术状况评定标准
- (正式版)JTT 1218.4-2024 城市轨道交通运营设备维修与更新技术规范 第4部分:轨道
评论
0/150
提交评论