liam zheng
3 March 2020
有时你确切需在系统中有一个的确定性响应时间,例如一只机器手臂需要在正确的时间移动到规定的地方,这使得你不得不使用一个硬实时操作系统(RT OS)。但是,那只是你的软件方案中的一个小部分,而剩下的部分你可能并不需要。在这个情况下将产生如下2个选项:
- 用RTOS来做全部的事情。
- 有2个独立的处理器,一个负责实时(RT)任务,另一个负责非实时的运算负荷。
在第一种选项下,由于复杂的开发环境,导致开发工作量开销增加。为此,你也将会失去常规Linux安装的便捷性,可更新性和高吞吐量。在第二个选项中,由于定制化硬件设置和2个硬件的交互,将导致硬件和开发环境开销增加。
然而,由于管理程序的技术进步,这种情况开始发生改变。例如,由Intel(英特尔)为满足在物联网开发中特定需求所开发(IoT)且开源的ACRN管理器。它为关键安全系统和实时有效负载打开了大门,同时与诸如Ubuntu和Android等操作系统共享设备。

ACRN允许你在不同的操作系统间分配硬件资源。你可以将CPU核心和内存分配给不同的操作系统,以确保RT部件始终处于实时状态,同时计算资源仍可用于系统的其余部分。并且,系统的可靠性也得到了保障,因为一个系统的崩溃不会影响到其他系统。ACRN可高度定制化,能使用在不同的配置环境中。可随不同系统的VM在启动时启动,也可以在主系统(“服务”操作系统)或用户需要时启动。
ACRN和Ubuntu的演示
在2020嵌入式世界大会上,我们展示了在ACRN上同时并行运行Ubuntu和实时系统Zephyr。Zephyr由Linux基金会主导开发并行业领导者Intel,NXP和Linaro提供支持,支持MCU和X86开发板。在此演示中,我们使用一台Intel NUC硬件,并保留了一颗CPU核心和一些内存给Zephyr。Ubuntu 18.04 使用剩余的系统资源。ACRN系统启动时获得了系统控制权,然后启动Ubuntu和Zephyr。我们展示了Zephyr如何能够以恒定速率执行计算,而其他Ubuntu有效负载则不受影响。2个系统的隔离使得一个系统出现问题不会影响另外一个系统,这也是关键系统的安全的必备因素。

我们希望在未来这类的设置能越来越普遍,通用。Canonical可为你提供更经济,安全和可更新的关键安全系统方案。如需了解更多内容,可联系我们。