Zynq MPSoC得到 Xen 管理程序支持
赛灵思最新 Zynq 器件采用 Xen 管理程序,但选择这种开源虚拟化方案的关键在于其支持能力。
作者:Steven H. VanderLeest
DornerWorks 公司首席运营官
Steve.VanderLeest@DornerWorks.com
Xen 开源管理程序是一种功能齐全的虚拟化技术,通常用于云计算,最近才进入嵌入式系统领域。DornerWorks 在新型 Zynq® UltraScale+ MPSoC 器件上提供 Xen 支持,为赛灵思用户带来多种优势。Xen Zynq 管理程序不仅实现快速的软件集成和更高的系统安全性与保密性,而且还能将企业级的云计算能力运用到嵌入式领域。
管理程序提供的严格设计分区功能有助于在计算器件上快速集成新软件(包括整个操作系统)。同时,这种隔离方式可减少甚至消除独立软件功能之间的意外干扰。
此外,这种隔离方式还能减少功能间的意外交互,缩小受风险威胁的攻击面,从而极大增强系统的安全性与保密性,进而更容易实现安全性或保密性属性。企业级云计算给嵌入式领域同样带来了诸多优势,例如只需少许修改就能将原有软件在新的硬件上部署。
我们在具体介绍 Zynq MPSoC 上的开源 Xen 管理程序 Xen Zynq 之前,首先简单了解一下什么是管理程序。
什么是管理程序?
管理程序是实现虚拟化的基础软件层。正如操作系统 (OS) 管理同时运行的多个应用程序,每个应用程序包含在一个进程中,可以访问由操作系统管理的机器资源;管理程序管理同时运行的多个操作系统,每个操作系统包含在一个虚拟机中,可以访问由管理程序管理的机器资源。
虚拟化概念可追溯到二十世纪六十年代。Popek 和 Goldberg 在 1974 年用三个特征定义了虚拟机监视程序 (VMM) 的概念:
• VMM 程序具有与原(物理)机器相同的运行时间(虚拟)环境。
• VMM 对性能的影响可以忽略不计。
• VMM 管理系统资源。
管理程序是一种几乎只关注基本机器管理任务的 VMM。这意味着文件系统、图形用户界面和网络协议栈等常见任务不在这层实现,而是委托给更高的层,例如运行在由管理程序托管的虚拟机上的客户操作系统内。
如上所述,在硬件上运行的管理程序被称为 1 类管理程序。相比之下,2 类管理程序不是最低的软件层,而是托管在操作系统上。这类管理程序通常用来让一种操作系统运行在另一种操作系统之上,例如,Mac 用户利用 Parallels 在 MacBook 上运行 Windows,或者 Windows 用户使用 VirtualBox 在虚拟机上启动并运行 Linux。
企业管理程序与嵌入式管理程序之间也存在重大区别。云计算和大数据是管理程序的典型企业级用例。管理程序是最近才进入嵌入式领域的。随着具备足够高性能和较低功耗的处理器出现才被该领域所采用。
嵌入式管理程序的用例具有一个共同特点:将多个复杂功能整合到单个计算平台中,同时保持一定间距。在航空航天领域,管理程序经常用于支持集成式模块化航空电子设备,将以前在联合式(独立)航空电子硬件上执行的软件整合到单个计算平台中。功能包括飞行控制、导航、飞行管理系统、防碰等。联邦航空局 (FAA) 要求以前在独立硬件上运行的软件功能在整合后不能相互影响。这种隔离性通过 DO-248C 等标准定义的严格的分区模式来实现。
当整合功能时,FAA 考虑的是航班安全问题,而军用航空电子设备也同样需要隔离以支持保密性。在单个系统上通过严格分区支持多个分类等级的这种方法采用一种名为多重独立安全等级 (MILS) 的架构。
医疗保健行业也考虑使用管理程序为高端医疗设备实现类似的整合,例如核磁共振扫描仪、机器人(或机器人辅助)外科手术设备以及 CT 扫描仪,所有这些设备目前都包含多个独立处理系统。整合的功能有可能包括内科医生图形用户界面、图像处理、实时电机控制、患者信息数据库和系统管理功能。
在汽车领域,要想将汽车内嵌的数十个独立微处理器和微控制器整合在一起,使用管理程序是一种不错的方法。几乎所有汽车 OEM 厂商都在考虑使用管理程序将信息娱乐、驾驶员与乘客控制、高级驾驶员辅助系统 (ADAS)、仪表板、导航系统、互联网连接以及实时控制等功能进行整合。
考虑虚拟化解决方案时,一定要评估 VMM 对性能的影响是否小到可以被忽
- 基于Zynq的OLED驱动设计(10-04)
- 用Zynq-7000 EPP实现端到端广播(06-05)
- 采用Zynq SoC实现Power-Fingerprinting网络安全性(06-04)
- Zynq-7000的柔性直流输电桥臂控制器设计(09-12)
- 采用Zynq SoC实现Power-Fingerprinting 网络安全性(09-12)
- 在 Zynq MPSoC 上运行 DOOM 游戏(08-03)