FPGA 101手把手课堂:Zynq MPSoC得到 Xen 管理程序支持
时间:01-20
来源:互联网
点击:
赛灵思最新 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 对性能的影响是否小到可以被忽略。管理程序可控制所有硬件资源(CPU、存储器和 I/O),因此有可能影响所有资源的性能。就 CPU 而言,一项重要指标是使内核从运行一台虚拟机切换为运行另一台虚拟机所需的时间。该指标有时被称为上下文切换时间,但也称为分区或域切换时间,这是为了将它与操作系统在进程间的切换这个类似概念加以区分。还有一个相关的指标是抖动,该指标用来衡量切换时间的变化有多大,以及这种变化对于确定性和可预测性的影响。
实时任务设计人员还会测量可调度的最小时间片,这能约束 CPU 调度的最大频率,或者换句话说,能约束给定时间内可执行的最大虚拟机数量。当测量对存储器的影响时,管理程序内核的存储足迹由不变的基本部分以及针对每个被添加客户机(虚拟机)的增量部分组成。累积的存储足迹约束虚拟机的最大数量。在 I/O 性能方面,应对每个目标器件测量带宽和时延这两个关键数值,不过您也可根据一些通用指标(例如总的中断时延或原始通信带宽)进行估算。
很多管理程序支持两种 I/O 方案:即专用和共享。专用 I/O 一般开销较低。这种方式下,管理程序会提供一个可直接或唯一性地访问特定 I/O 器件的虚拟机,该 I/O 器件通常被称为“直通”器件。共享 I/O 开销较高,因为管理程序必须采取一些机制来实现共享方案。
作者: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 对性能的影响是否小到可以被忽略。管理程序可控制所有硬件资源(CPU、存储器和 I/O),因此有可能影响所有资源的性能。就 CPU 而言,一项重要指标是使内核从运行一台虚拟机切换为运行另一台虚拟机所需的时间。该指标有时被称为上下文切换时间,但也称为分区或域切换时间,这是为了将它与操作系统在进程间的切换这个类似概念加以区分。还有一个相关的指标是抖动,该指标用来衡量切换时间的变化有多大,以及这种变化对于确定性和可预测性的影响。
实时任务设计人员还会测量可调度的最小时间片,这能约束 CPU 调度的最大频率,或者换句话说,能约束给定时间内可执行的最大虚拟机数量。当测量对存储器的影响时,管理程序内核的存储足迹由不变的基本部分以及针对每个被添加客户机(虚拟机)的增量部分组成。累积的存储足迹约束虚拟机的最大数量。在 I/O 性能方面,应对每个目标器件测量带宽和时延这两个关键数值,不过您也可根据一些通用指标(例如总的中断时延或原始通信带宽)进行估算。
很多管理程序支持两种 I/O 方案:即专用和共享。专用 I/O 一般开销较低。这种方式下,管理程序会提供一个可直接或唯一性地访问特定 I/O 器件的虚拟机,该 I/O 器件通常被称为“直通”器件。共享 I/O 开销较高,因为管理程序必须采取一些机制来实现共享方案。
赛灵思 嵌入式 SoC PSoC Linux 电子 机器人 ARM Cortex FPGA 仿真 Xilinx 相关文章:
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)
- FPGA可帮助搜索引擎降低功耗和碳排放(09-12)
- 基于Spartan-3A DSP的安全视频分析(05-01)
- 赛灵思新版视频入门套件加快视频开发速度(05-29)
- 赛灵思“授之以渔”理论:危机中如何巧降成本(06-04)
- 赛灵思详解新近推出的FPGA领域设计平台(12-16)