使用Ubuntu和ACRN创建可用的实时系统(RTOS)

by liam zheng on 3 March 2020

有时你确切需在系统中有一个的确定性响应时间,例如一只机器手臂需要在正确的时间移动到规定的地方,这使得你不得不使用一个硬实时操作系统(RT OS)。但是,那只是你的软件方案中的一个小部分,而剩下的部分你可能并不需要。在这个情况下将产生如下2个选项:

  1. 用RTOS来做全部的事情。
  2. 有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可为你提供更经济,安全和可更新的关键安全系统方案。如需了解更多内容,可联系我们

查看更多内容

Snapcraft:多应用客户端-服务端snap开发教程

在过去几个月我们发布了一些如何使用Rust,Java,C/C++和其他语言来开发snap桌面应用的文章。在这些从入门到精通的教程中,我们以一个代表性的snapcraft.yaml文件来介绍开发构建snap所需的具体细节。 今天,我们希望脱离这一过程,而将重点放在服务器端。我们将为你提供一个包含两个有趣组件的snapcraft.yaml的概述:a)它将拥有多个应用程序; 通常,snap包含一个应用程序。b)它具有简单的后台服务,其他应用程序可以连接到该服务。 我们一起来看一下。 Snapcraft yaml 以下是snapcraft.yaml文件的内容: apps: borg: command: bin/borg daemon: simple restart-conditi […]

Kubernetes 1.18 RC版发布

Kubernetes 最新版现在可以下载和测试。MicroK8s RC版本号与上游Kubernetes一致都升级到最新的1.18. 要用最简单、容易的方式安装最新版Kubernetes,可通过如下命令安装MicroK8s: sudo snap install microk8s –channel=1.18/candidate –classic 或者访问snapcraft.io:https://snapcraft.io/microk8s 选择 1.18/candidate 版本进行安装。 MicroK8s可在Ubuntu和其他Linux发行版本上安装,同时也支持Windows和MacOS。 如您有任何关于Kubernetes和MicroK8s的问题或者支持需求,欢迎联系我们。 […]

将树莓派4打造为一个边缘网关:第二部分

在第一部分教程中,我们已经在树莓派4上安装和配置好了EdgeX foundry以将其打造为一个边缘网关。今天的教程将介绍把网关连接到到虚拟的IoT(物联网)设备上。这些虚拟的设备是使用软件模拟的。模拟的虚拟设备将通过托管在云端的MQTT消息服务器发送随机的消息,这些信息将被转发到已订阅接收消息的MQTT客户端上。 连接Southbound 设备端与边缘网关的物联网数据流被称之为Southbound。在EdgeX中,物联网设备和网关之间的通信被称为设备服务。一个设备服务就是由诸如Modbus,OPC-UA,REST,BLT,Zigbee,MQTT,BACNet,SNMP等等的物联网通信协议的接口实现的一个微服务。 虚拟设备服务的设定是方便进行配置和调试树莓派4边缘网关。它允 […]