目录
3.3丰富的嵌入式I / O虚拟化(Rich Embedded I/O Virtualization)
1.摘要
随着物联网(IoT)的快速增长和诸如边缘计算等新兴的IoT计算范例,普遍看到当今的实时和功能安全设备,尤其是工业IoT和汽车场景中的安全设备通过将多个平台组合为一个产品来实现功能。这一新趋势可能促使嵌入式虚拟化在工作负载合并,分离和成本效益方面成为有前途的解决方案。但是,管理程序(例如KVM和Xen)被设计为在服务器上运行,并且不能轻松地进行重组以满足诸如IoT产品的实时约束之类的要求。同时,现有的嵌入式虚拟化解决方案通常是针对特定的物联网场景量身定制的,这使得它们很难扩展到各种场景。此外,大多数商业解决方案虽然成熟且有吸引力,但价格昂贵且封闭源代码。本文介绍了ACRN,这是一种用于物联网开发的灵活,轻巧,可扩展的开源嵌入式管理程序。通过专注于CPU和内存分区,同时可选地将嵌入式I / O虚拟化卸载到小型用户空间设备模型,ACRN提出了一个同时满足实时和通用需求的整合系统。通过采用客户友好的宽松BSD许可证,ACRN提供了立即可用的实用的工业级解决方案。
2.系统架构
针对针对各种物联网细分市场的通用嵌入式管理程序,ACRN的设计目标如下:
-
大:ACRN应具有丰富的功能,以支持各种物联网使用;
-
小:ACRN在代码大小和内存占用方面应该是轻量级的,这对于通过工业认证至关重要;
-
实时:ACRN应支持实时虚拟化,以满足物联网的具体需求;
-
安全性:ACRN应为VM中的工作负载提供隔离环境,并确保全系统的完整性,以防止受损的VM启动;
为了满足上述设计目标,ACRN被设计为在裸机硬件和固件之上运行的Type-1虚拟机管理程序,总体系统架构如图1所示。目前,ACRN虚拟机管理程序支持三种类型的VM, 服务VM,用户VM和实时VM(RTVM)。 相应地,我们将RTOS或在其中运行的OS命名为Service OS(SOS),User OS(UOS)和实时OS(RT-OS)。 与Xen的Dom0相似,服务VM是一个控制VM,其中托管了本地设备驱动程序和ACRN DM。 用户VM是托管各种操作系统(例如Linux,Android,Windows等)的应用程序VM。 RTVM是一种特殊的隔离用户VM,经过优化可提供实时功能。