1.介绍
随着物联网(IoT)的快速发展和诸如边缘计算等新兴的IoT计算范式的出现,人们普遍认为当今的实时和功能安全设备,尤其是在工业IoT和汽车场景中,安全设备正通过将多个平台组合成单个产品来实现多种功能。这一新趋势可能促使嵌入式虚拟化成为在工作负载合并,分离和成本效益方面的有前途的解决方案。但是在现如今的研究中,虚拟机监控程序(例如KVM和Xen)被设计在服务器上运行的,并且不能轻松地进行重组以满足物联网产品的实时约束的要求。同时,现有的嵌入式虚拟化解决方案通常是针对特定的物联网场景量身定制的,很难再去扩展到各种场景。
基于以上的发展背景,这篇论文则介绍了一个代码量不多但功能丰富的用于物联网开发的管理程序,它的特点是灵活、轻巧,可扩展且开源。它通过专注于CPU和内存分区,同时可选择的将嵌入式I/O虚拟化卸载到小型用户空间设备模型里。
2.系统结构
对于不同的物联网市场的通用嵌入式管理程序,ACRN的设计目标如下:
1. 大:ACRN应具有丰富的功能,以支持各种物联网的应用;
2. 小:ACRN应该在代码大小和内存占用方面轻量化,这是通过行业认证的关键;
3. 实时:ACRN应支持实时虚拟化,以满足物联网的特定需求;
4. 安全性:ACRN应为虚拟机中的工作负载提供隔离的环境,并确保整个系统的完整性,以防止受损的虚拟机启动;
为了满足上面提到的设计目标,ACRN被设计为一个在裸金属硬件和固件上运行的1型虚拟机管理程序,整个