目录
3.2.2Interrupt Delivery Flow(中断传送流)
1.Introduction
如标题所说,这篇文章介绍了ACRN——是一个代码量很小但功能很丰富用于物联网开发的管理程序。
随着物联网(IoT)的快速发展和众多物联网设备产生的大量数据以及边缘计算等新兴IoT计算范式的出现,人们普遍认为,当今的实时和功能安全设备,特别是在工业IoT和汽车场景中,正通过将多个平台组合成单个产品而实现多功能。这一新趋势可能会促使嵌入式虚拟化成为一种在工作负载整合、分离和成本效益方面有前途的解决方案。但当前的研究中,虚拟机监控程序(如KVM和XEN)是设计用于在服务器上运行的,并且不能很容易地进行重组以满足物联网产品的实时约束等要求。同时,现有的嵌入式虚拟化解决方案通常针对特定的物联网场景进行定制,这使得它们很难扩展到各种场景,且嵌入式硬件种类繁多,通常受到内存占用率低、功耗低等限制。
在此基础上,这篇论文介绍了一个灵活、轻量级、可扩展、开源的物联网开发嵌入式管理程序——ACRN。ACRN专注于CPU和内存分区,同时有选择地将嵌入式I/O虚拟化卸载到一个小用户空间设备模型中,从而提出了一个同时满足实时和通用需求的整合系统。
这篇论文的贡献如下:
a.将ACRN引入物联网开发中——ACRN是一种灵活、轻量级、可扩展、开源(在许可证下)的嵌入式管理程序。
b.为实时(RT)虚拟化提供了一个安全高效的“无虚拟机出口”解决方案,并展示了如何将RT虚拟化和非RT虚拟化结合起来,形成一个混合的关键性系统。
c.进行了一次彻底的评估,以表明ACRN是一个具有即时准备的行业级解决方案。
2.System Architecture
针对面向不同物联网领域的通用嵌入式管理程序,ACRN的设计目标如下:
庞大的功能:ACRN应具有丰富的功能,以支持多种物联网用途;
微小的内存:ACRN应在代码大小和内存占用方面轻量级,这对于通过工业认证至关重要;
实时:ACRN应支持实时虚拟化,以满足物联网的特定需求;
安全性:ACRN应为虚拟机中的工作负载提供隔离的环境,并确保整个系统的完整性,以防止受损的虚拟机启动;
为了实现上述设计目标,ACRN被设计为运行在裸机硬件和固件之上的1型管理程序,整个系统架构如下图所示:
ACRN虚拟机监控程序支持三种类型的VM(Virtual Machine虚拟机):Service VM、User VM和RT(实时) VM。其中,Service VM是一个控制