《ACRN: A Big Little Hypervisor for IoT Development》阅读笔记

目录

 

1.Introduction

2.System Architecture

3.设计与实现

3.1Spatial Isolation(空间隔离)

3.1.1 CPU核心分区

3.1.2内存分区

3.2 Temporal Isolation(时间隔离)

3.2.1 I/O FLow

3.2.2Interrupt Delivery Flow(中断传送流)

 3.3丰富的嵌入式I/O虚拟化

 3.4实时性

3.5安全性

4.实验

4.1 实验设置

5.结论


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: A Big Little Hypervisor for IoT Development》阅读笔记_第1张图片

 ACRN虚拟机监控程序支持三种类型的VM(Virtual Machine虚拟机):Service VMUser VMRT(

你可能感兴趣的:(操作系统)