嵌入式系统的虚拟化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式系统的虚拟化

小设备虚拟机监控程序的方式和原因

M. Tim Jones, 平台架构师, Intel

简介:当今的技术新闻充斥着服务器和桌面机虚拟化的故事,但还有一种虚拟化技术发展迅猛:嵌入式虚拟化。嵌入式领域包含几个有用的虚拟化应用领域:移动手持式设备、安全性内核和并发性嵌入式操作系统。本文探索嵌入式虚拟化领域,解释嵌入式虚拟化进入您身边的嵌入式系统的原因。

本文的标签:虚拟化

标记本文!

发布日期: 2011 年5 月11 日

级别:中级

原创语言:英文

访问情况 5466 次浏览

建议: 0 (添加评论)

平均分(共11 个评分)

不仅仅只有虚拟化创造的市场和机遇正在“爆炸”,虚拟化的变体也在增长。尽管虚拟化诞生于大型机,但它在服务器中占据了关键位置。对于大量工作负载而言,服务器利用率很低,而虚拟化允许在单个服务器上托管多个服务器实例,从而减少成本、管理和固定资产。因此,虚拟化以“Ⅱ型”(或托管)虚拟机监控程序的形式进入消费者领域,虚拟机监控程序允许在单个桌面机上同时运行多个操作系统。下一个创新是虚拟化的桌面机,允许一个服务器使用最少的客户机端点通过一个网络托管多个客户机(瘦客户机)。但在今天,虚拟化正在进入一个新的海量空间:嵌入式设备。

鉴于虚拟化实现的优势持续增长,这种演变并不那么令人吃惊。虚拟化在IBM 大型机上诞生并发展,然后随着计算技术的演变进入服务器、桌面机和现在的嵌入式设备。上世纪90 年代,虚拟化发展到大型机之外,借助原生微处理器的支持,经历了一次复兴(见图1)。

图1. Ⅰ型虚拟机监控程序的简单时间线

本文将探索其中的一些应用领域,展示虚拟化如何延伸其触角,找到新的应用领域。本文还将探索开源技术在虚拟化应用过程中的引导作用。

什么是嵌入式虚拟化?

嵌入式虚拟化是指嵌入式系统中部署的Ⅰ型虚拟机监控程序。但是,这种说法有些自相矛盾。嵌入式系统的一种定义是:设计用于执行少数专用功能的计算机系统。但如果向嵌入式系统添加一个虚拟机监控程序,将添加灵活性和一些高级功能,将嵌入式设备转变为一种新型系统。

微核的关键抽象

1995 年,Jochen Liedtke 定义了微核中必须提供的三个关键抽象:地址空间(用于隔离)、线程(用于并发性)和进程间通信(用于独立的地址空间中的线程之间的通信)。

虚拟机监控程序是一种特殊操作系统,直接在裸机上运行(针对Ⅰ型虚拟机监控程序情况)。虚拟机监控程序创建一个底层硬件平台抽象,这样,一个或多个虚拟机(VM)无需知道它们共享平台即可使用这个底层硬件平台。在这种环境中,VM 只是操作系统及其应用程序的容器。这种环境的一个有趣的优点是一个VM 与虚拟机监控程序上运行的其他VMs 隔离,这支持多个操作系统或多个配置不同的相似操作系统。这种隔离还提供一些好处,我们将稍后介绍。

另外,嵌入式虚拟机监控程序是一个虚拟平台和一个微核的混合物(见图2)。这种状态允许虚拟机监控程序支持VMs(操作系统和应用程序)和单独的应用程序。

图2. 裸机操作系统和虚拟机监控程序

尽管嵌入式设备一直受到严格的资源限制,但今天的设备范围广泛:从拥有服务器级功能(比如对虚拟化的硬件支持)的强大处理器到拥有计较少容量和资源的功耗优化系统。对于嵌入式虚拟机监控程序,这种多样性创建了一个比它们的大型机和服务器“兄弟” 要求更高的环境。

回页首嵌入式虚拟化的特征

与传统虚拟机监控程序不同,嵌入式虚拟机监控程序实现了一种不同的抽象,拥有与其他平台不同的限制。本节探索嵌入式空间中提供的一些限制和功能。

效率

所有虚拟机监控程序都致力于提高效率,但嵌入式虚拟机监控程序必须处理在传统虚拟化环境之外添加的限制。因此,嵌入式虚拟机监控程序必须规模小,且拥有极高的内存使用效率。

安全性

规模小有其优势。应用程序的代码越小,就越容易验证和证明它是没有bug 的。事实上,有些嵌入式虚拟机监控程序供应商已经正式验证了他们的虚拟机监控程序,并保证它们没有bug。虚拟机监控程序越小,平台就可能越安全可靠。这是因为虚拟机监控程序通常是系统惟一以特权模式运行的部分,充当所谓的可信计算基(Trusted Computing Base,TCB),形成一个更安全的平台。

通信

嵌入式虚拟机监控程序的目的在于与多个来宾和应用程序共享一个硬件平台,但通常还扩展一些通信方法以便它们交互。这个通信通道既有效又安全,允许特权和非特权应用程序并存。

隔离

隔离来宾和应用程序的能力与安全性相关。除了提供安全性和可靠性的容器之外,这种能力还提供许可隔离方面的好处。使用嵌入式虚拟机监控程序的通信机制允许专有软件和开源软件在隔离的环境中共存。随着嵌入式设备变得更加开放,混合专有软件和第三方或开源软件的愿望成为一个重要需求。

实时功能

最后,嵌入式虚拟机监控程序必须支持拥有实时功能的调度。对于手持式设备,虚拟机监控程序能够与核心通信功能和第三方应用程序共享平台。具有实时特征的调度允许这些关键功能与一些尽力运行的应用程序共存。

回页首嵌入式虚拟机监控程序示例

已经出现了几个用于处理嵌入式领域中的应用程序的虚拟机监控程序—它们不仅来自开源社区,而且还有一些专有版本。VMware 引入了Mobile Virtualization Platform 来处理一个日益普遍的使用模型:商用和个人智能电话。通过在一部智能电话上采用一个嵌入式虚拟机监控程序,单个设备可以通过在单独的容器(VMs)中隔离两个使用模型同时用于安全的公司用途和个人用途。

下面我们探索一些处理这种和其他用途的解决方案(包括开源方案)。

PikeOS

PikeOS 是一个有趣的架构,因为它主要实现了一个所谓的分离内核(separation kernel)。与虚拟机监控程序类似,分离(或分区)内核安全地隔离上级来宾的环境。PikeOS 用于处理航空电子工业中安全性至关重要的航空电子应用程序。引入一个嵌入式虚拟机监控程序允许在同一个平台上同时使用较早的遗留应用程序(在一个VM 中)和更新的应用程序(见图3)。

相关文档
最新文档