解密ACRN:一个专为物联网而设计的Hypervisor

开源 物联网
ACRN 的设计有所不同。在 2018 年的 Linux 嵌入式大会上发布的 ACRN,是一款灵活的、轻量级的参考 hypervisor,以实时性和关键的安全性为设计出发点,并且通过开源平台为精简嵌入式开发进行优化。

[[233465]]

ACRN 是一个灵活的、轻量级的 hypervisor,以实时性和安全性为设计出发点。

本文由 Linux 基金会撰写,其中部分内容由英特尔开源中心***工程师 Eddie Dong 提供。

随着物联网规模呈指数级增长,物联网开发者需要支持各种不同的硬件资源、操作系统、软件工具/应用程序。这是一个很大的挑战,因为许多互联的物联网设备在资源上会受到各种限制的,例如运行内存空间,闪存大小,CPU 核的个数。虚拟化有助于满足这些广泛的需求,但是现有的虚拟化方案无法为物联网开发提供同时满足尺寸、灵活性和功能的适当的组合。

ACRN 的设计有所不同。在 2018 年的 Linux 嵌入式大会上发布的 ACRN,是一款灵活的、轻量级的参考 hypervisor,以实时性和关键的安全性为设计出发点,并且通过开源平台为精简嵌入式开发进行优化。

ACRN 的***优势之一是尺寸小,发布时大约只有 25K 行代码。英特尔开源技术中心为项目的发布贡献了源代码。英特尔公司副总裁兼开源技术中心总经理 Imad Sousou 表示,“ACRN 的想法来自于我们为用户提供虚拟技术的工作。嵌入式物联网开发工作量很大。使用 hypervisor 技术,具有不同重要性的负载可以被整合到一个平台上,从而降低开发和部署成本,并且允许更精简的系统架构。” 

关于名字:ACRN 不是缩写,发音为 “acorn”,(acorn 英文意思为橡子)寓意虽然开始很小,但最终可以长的很大,与该项目希望通过社区参与成长的方式相似。ACRN 有两个关键组成:hypervisor 和 ACRN 设备模块。ACRN Hypervisor 是一个 Type 1 的 hypervior,可以直接运行于裸机上。ACRN 设备模块是针对虚拟设备仿真的参考框架实现,它提供丰富的 I/O 虚拟化支持,目前计划支持音频、视频、图形和 USB。随着社区发展,预计会有更多设备虚拟化功能加入。

 

如何工作?

ACRN Hypervisor 运行在裸机上,然后在其上可以运行一个基于 Linux 的服务操作系统Service OS(SOS),然后可以同时运行多个客户操作系统Guest OS(GOS),以便整合工作负载。ACRN hypervisor 为服务操作系统创造了***个虚拟环境,然后启动客户操作系统。服务操作系统运行本地设备驱动程序来管理硬件,向客户操作系统提供 I/O mediation。

服务操作系统以系统***优先级的虚拟机运行,以满足时间对敏感需求和系统服务质量(QoS)的要求。服务操作系统目前可以运行 Clear Linux*,但是 ACRN 也支持其它 Linux* 的发行版或者专有 RTOS 作为服务操作系统或客户操作系统。诚邀社区帮助来一起开发支持其他版本的服务操作系统,并使用 ACRN 参考堆栈支持其他版本的客户操作系统,例如:其它 Linux* 发行版、Android*、Windows* 或者专有 RTOS。

为了保持 ACRN hypervisor 代码库尽可能小且高效,大部分设备模块的实现驻留在服务操作系统,用来提供设备共享和其它功能。目的是保证在资源受限的设备上实现小尺寸,低延迟的代码库的优化,为物联网开发平台构建虚拟化特定功能,如图形、媒体、音频、图像以及其它需要分享资源的 I/O 设备。通过这种方法,ACRN 填补了用于大数据中心的 hypervisor 和直接硬件分区 hypervisor 之间的空白,是各种物联网开发的理想选择。

一个实例是车辆中的软件定义驾驶舱(SDC)。使用 ACRN 作为参考实现,供应商可以构建解决方案,包括仪表盘、车载娱乐系统(IVI)、一个或者更多的后排乘客娱乐系统(RSE)等。考虑到整体系统安全问题,IVI 和 RSE 系统可以作为隔离的虚拟机(VM)运行。软件定义工业系统(SDIS)是另一个很好的例子,包括网络物理系统、物联网、云计算和认知计算。ACRN 可以帮助 SDIS 整合工业工作负载,并且可以跨系统实现灵活调度。这有助于为用户带来益处,包括低功耗、简化安全性、提高可靠性,以及简化系统管理等。 

ACRN 的早期支持者包括英特尔、ADLink 凌华科技、Aptiv、LG 电子和东软。社区开发者也欢迎下载代码,并参与 ACRN GitHub 的贡献。更多的使用案例信息和参与信息,请访问 ACRN 官网。欢迎参加于 2018 年 10 月 22 ~ 24 日在英国爱丁堡举办的开源峰会兼嵌入式 Linux 大会(欧洲),届时会针对 Linux、云、容器、AI、社区等举办 100 多场会议。

 

关于 ACRN

ACRN 由 Linux 基金会于 2018 年 3 月发布,是一款灵活的、轻量级、开源 hypervisor 参考软件。ACRN 以实时性和关键安全性为设计出发点,特别为精简嵌入式开发而优化。该项目为各行业的***提供了一个参考设计框架,可以用来构建一个开源的嵌入式 hypervisor,尤其适用于物联网领域。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2013-09-03 16:21:07

物联网IoT数据中心

2021-11-08 07:57:17

物联网无源物联网IoT

2018-03-07 16:15:32

网络物联网互联网+

2022-09-16 11:51:25

物联网LOT

2017-07-03 10:55:08

2018-03-21 08:52:09

Linux程序物联网

2013-06-05 10:24:22

2022-03-17 10:49:16

Wi-Fi HaLo物联网

2024-01-03 14:23:13

物联网

2022-09-16 15:53:56

智慧城市物联网通信

2015-04-23 16:21:23

2021-12-28 18:21:04

戴尔

2024-06-26 12:46:49

操作系统LinuxRust

2018-04-20 07:48:56

2014-01-23 09:53:36

物联网云计算

2015-09-21 14:22:43

2022-05-23 11:21:07

传感器物联网IoT

2023-02-10 15:41:50

物联网物联网平台

2019-08-28 08:18:32

工业物联网IIOT

2021-12-02 06:08:36

物联网IOT物联网技术
点赞
收藏

51CTO技术栈公众号