微软 azure
Microsoft的操作系统集合不断增长。 我们都知道Windows及其通过WSL(适用于Linux的Windows子系统)进入Linux以及通过SONiC(云中用于开放式网络的软件)网络平台进入Azure的过程。 安全的物联网Azure Sphere也越来越熟悉。 现在有另一种Microsoft操作系统,它的功能更加专业,但开始引起芯片厂商的更多关注。
微软在2019年对Express Logic的收购将其ThreadX实时操作系统带入了Azure。 现在已被称为Azure RTOS ,它是一种工业级实时操作系统,适用于介于Arduino和Raspberry Pi之间的设备,需要的不仅仅是固件,还不到完整的类似Azure Sphere的Linux。 该操作系统增加了Microsoft的边缘计算功能,该功能已经在超过20亿个设备上运行。
[ 也在InfoWorld上:2020年探索的5种Microsoft开发人员工具和技术 ]
使用Azure RTOS实时
Azure RTOS的核心是ThreadX picokernel 。 它旨在通过各种可扩展的硬件进行扩展,并带有可自定义的部署映像,该映像仅捆绑了代码所需的服务。 这些服务实现为C库,从而简化了构建和交付运行时代码的过程。 内核是作为C源代码分发的 ,因此可以(尽管不建议)对其进行修改以适应特定的硬件或应用程序要求。
服务与线程并排运行(它们不分层),从而可以优化ThreadX的速度和服务之间的切换。 性能是必不可少的,因为实时操作系统经常以对安全至关重要的角色运行,因此需要对事件驱动的输入做出快速响应。
内核是实时内核 ,因此无需构建从基本控制循环运行的应用程序。 相反,操作系统使用基于优先级的调度程序进行抢先式多任务处理,从而管理线程之间的任务切换。 可以为关键事件赋予较高的优先级,从而使它们能够在Azure RTOS进行上下文切换所需的时间内快速响应。
在将代码编译,链接到ThreadX库然后下载到设备之前,需要在熟悉的开发环境中的传统PC上开发代码。 Azure RTOS专为嵌入式硬件而设计,因此将其交付到设备ROM,并通过与设备芯片的硬件连接进行调试。 大多数工业IoT硬件在部署前均已进行了编程,并且通过对设备进行重新编程来交付所有更新。 如果要远程处理,则可能需要第二套固件来更新主系统。
扩展ThreadX内核
其他功能作为库提供,可以随时构建到您的应用程序中并扩展核心ThreadX内核。 这些功能包括文件系统支持(使用FileX),基于FAT(文件分配表)的文件系统,用于RAM和各种闪存格式。 NetX库是一个TCP / IP堆栈,为需要将数据发送到服务(例如Azure IoT)的设备添加了网络连接。 用于IPv4连接; 更新的替代网络堆栈增加了对IPv6的支持。 如果您打算部署成千上万的设备,则最好使用第二个堆栈,因为IPv4地址短缺且规模庞大。
与许多RTOS实施不同,Azure RTOS对于需要与用户进行交互的设备具有GUI选项。 与平台的其余部分一样,它采用基于库的方法,体积小,速度快。 您可以使用Azure RTOS GUIX Studio在PC上设计UI,该UI将接受您的设计并生成适当的C代码,然后将其编译并与Guix库链接。 具有医疗和汽车用途的Azure RTOS认证,UI是一项重要功能。 如果您打算在应用程序中添加GUI,则可能需要高端微控制器,因为较小的设备很少支持显示器。
使用微控制器
ThreadX的体系结构的一个优势是,很容易移植到新的芯片体系结构。 这是微软针对Azure RTOS的新发行政策的重要组成部分,该政策改变了将其交付给微控制器的方式。 过去,它是由Express Logic为其直接客户维护和移植的第三方平台。 现在,它以一流公民的身份交付,并获得了高通,Microchip,NXP和其他供应商的硬件支持。
我最近与NXP进行了交谈,以了解他们如何将Azure RTOS与他们的硬件集成在一起。 目前,大多数恩智浦微控制器都使用亚马逊的FreeRTOS或基于Linaro的Zephyr OS。 Azure RTOS将是NXP设备的第三种选择,因此开发人员将能够选择满足其要求的平台。 恩智浦的SDK将添加特定于硬件的功能,所有功能都来自一个供应商,而不必从一家制造商那里购买硬件,而从另一家制造商那里购买软件和开发工具。 这是一种简单得多的方法。 您可以在NXP的MCUXpresso开发环境中编写ThreadX代码,而不是使用Microsoft开发人员工具。
这种方法的优势之一是,恩智浦将为特定设备提供示例代码,展示如何不仅为Azure,而且为AWS或Google Cloud构建本地和网络连接的应用程序。 微软通过Azure实时操作系统的行业安全认证,使其既适用于车辆和铁路应用,也适用于医疗和航空用途,这为NXP提供了一个通过其微控制器交付预先认证的RTOS的机会,从而降低了成本。 同样,借助Azure RTOS的模块化设计,更复杂的设备可以附带其图形库或Azure IoT集成功能。
恩智浦的“交叉”微控制器系列似乎是Azure RTOS的理想平台。 它使用低功耗ARM Cortex-M内核,但是它们不是在400MHz上运行,而是在可时钟为1GHz的硅片上运行。 由此产生的硬件和软件的混合应以相对较低的成本提供高性能,而无需大量的功率预算。
Azure的IoT OS产品组合
要成功,必须对Azure RTOS进行硬件供应商支持。 Express Logic的原始模型对于规模较小的组织来说是有意义的。 现在,Microsoft的目标是大规模分发Azure RTOS,这意味着将放弃自定义版本。 与恩智浦等供应商合作为其主要产品线提供支持非常有意义,因为它们既提供原型板又提供生产系统,从而降低了与应用程序和硬件开发相关的风险。
借助Azure RTOS,Microsoft拥有一系列IoT操作系统,可从最小的设备扩展到边缘控制器。 Azure RTOS从小规模开始并扩展到中型设备,然后Azure Sphere进入并添加一个安全层(您可以将Azure Sphere用作保护Azure RTOS设备群的网关)。 对于不需要支持实时事件的更复杂的硬件,Windows 10 IoT系列可用于Raspberry Pi和其他ARM和Intel单板计算机等设备。
翻译自: https://www.infoworld.com/article/3536569/inside-microsofts-latest-os-azure-rtos.html
微软 azure