全球首款开源实时操作系统!开发了 20 多年、部署在超 120 亿台设备上的 ThreadX 正式开源

2023-12-01 13:53:47 浏览数 (1)

编译 | 凌敏、核子可乐

微软开源 Azure RTOS 嵌入式系统

近日,微软宣布开源 Azure RTOS 及其所有组件,将其贡献给 Eclipse 基金会,并更名为 Eclipse ThreadX。Azure RTOS 的开源将满足长期以来高度分化的嵌入式软件市场的实际需求,而 ThreadX 也将成为全球首款开源实时操作系统。

2019 年 4 月 18 日,ThreadX 操作系统被微软看中,其所有者 Express Logic 也被整体收购。从那时起,它的名字也被改为 Azure RTOS。微软表示,通过此次收购,微软将解锁对数十亿全新连接端点的访问能力,让更多设备能够无缝接入 Azure 云并获得新的智能化功能。Express Logic 的 ThreadX RTOS 也将加入微软日益庞大的物联网支持技术阵营,并与微软在微控制器领域的安全方案 Azure Sphere 形成互补,目标是将 ThreadX RTOS 确立为 Azure Sphere 设备上的实时处理选项,帮助那些支持 ThreadX 并需要边缘计算功能的物联网设备能够与 Azure IoT Edge 对接。

有观察人士称,微软收购 ThreadX 是为了回应此前亚马逊云科技接掌 FreeRTOS。在收购之后,ThreadX 原开发者 William Lamie 选择离开并创办新公司,专门销售包含 POSIX 兼容线程的“第五代”RTOS,名为 PX5OS。

彼时,ThreadX 拥有超 62 亿部署量,也是当时 VDC Research 调查中全球部署范围最广的 RTOS 之一。之所以得到广泛接受,就是因为 ThreadX 解决了市场的客观需求:如何在资源有限的环境之下,让物联网及边缘设备仍具有可靠的安全保障。制造商生产的各类产品——包括智能灯泡、温度计、空调、医疗设备及网络设备等,都享受到 Express Logic 方案带来的尺寸、安全性与可靠性优势,同时也加快了产品上市速度。即使是高度受限的设备(由电池供电且闪存小于 64 KB),也能用上 Express Logic 的解决方案。全球每年生产和部署的 MCU 驱动设备超过 90 亿件,其中大部分都能够从 Express Logic 的技术成果中获益。

目前,ThreadX 涉足的领域更加广泛,有 120 亿台设备在运行这款系统上。它曾经为英特尔的片上管理引擎提供支持,也是 Pi Pico 级别以上各类树莓派(Raspberry Pi)的运行固件。在 Pi 1、2 和 3 代中,它藏身在 Pi SD 卡上的 bootcode.bin 文件当中;而在 Pi 4 和 400 当中,它又变身为 start*.elf。ThreadX 还存在于 GitHub 和 Debian 项目当中,以专有 blob(二进制大型对象)的形式示人。

它就像是个密不透风的黑盒子,其中甚至不涉及任何 Arm 代码——相反,只运行在 Pi 的 VideoCore GPU 之上。值得一提的是,VideoCore GPU 才是 Pi 中控制硬件的主要设备,Arm 核心反而是 VideoCore GPU 的从属设备。这也是 Xen 只能在 Pi 4 及更高版本上运行的原因:到这些版本,其 Arm 核心才开始拥有自己的中断控制器。不过从 Pi 5 开始,ThreadX 被纳入 EEPROM 当中且功能有所削减,Arm 核心也由此获得更多硬件控制权。

尽管市面上的实时操作系统(即 RTOS)并不少见,但由于实时操作系统默默运行于底层,很少受到关注。最知名的实时操作系统当数 Wind River 的 VxWorks:远在火星的 NASA 毅力号探测器上就有它的身影。作为黑莓旗下唯一赚钱的业务,QNX RTOS 也先后两次成为人们关注的焦点:除了作为 RIM 黑莓 X foldlelab 及智能手机产品的底层基础,上世纪 90 年代它还曾通过一张软盘成功实现设备加载和运行演示。

ThreadX 有哪些特点?

目前来看,ThreadX 本身仍是一款久经考验、相当成熟的产品,其 STM32 版本等部件甚至通过了 TÜV 功能安全 (FuSa) 认证。这也使其在特定客群中建立起强大的吸引力。

具体来说,ThreadX 的特点包括:

  1. 技术成熟、可扩展性强。ThreadX 已经发展 20 年有余,目前在全球超过 120 亿台设备上运行,是公认的高性能、高稳定性实时操作系统。
  2. 基于宽松的开源许可证。ThreadX 将采用 MIT 开源许可证,为用户和采用者提供高度宽松的许可条款。
  3. 以厂商中立为基调进行开源管理。ThreadX 将由 Eclipse 基金会管理并遵循其开发流程,保证以厂商中立的治理模式推动其发展和延续,造福于整个技术行业。
  4. 通过了功能安全与保障谁。ThreadX 已通过 SGS-TÜV Saar 认证,符合 IEC 61508、IEC 62304、ISO 26262 和 EN 50128 标准。ThreadX 还通过了 EAL4 Common Criteria 安全认证。全面的安全认证积累开行业之先河,也让 ThreadX 成为第一款有望改变游戏规则的可靠开源 RTOS。

Eclipse 基金会在博客中提到,虽然市面上还存在其他开源 RTOS,但没有哪套方案能够同时满足以上四点。基金会对 ThreadX 充满信心,认为其必将迅速扩大在航空航天、汽车、物联网、医疗、交通、自动化和消费级可穿戴设备等广泛用例中的落地。

ThreadX 未来将如何发展?

除了项目本身,Eclipse 基金会还成立了技术兴趣小组,专注于为 ThreadX 建立起由行业支持的可持续融资模式。目前,AMD、Cypherbridge、微软、NXP、PX5、瑞萨电子、意法半导体、Silicon Labs 和 Witekio(Avnet 旗下公司)都积极参与进来。

未来,ThreadX 兴趣小组将主要关注以下几项目标:

  • 整合项目:尽快将 ThreadX 迁移至 Eclipse 基金会的治理体系之下。具体涉及在未来几周内对代码和文档进行转换和重新许可,并修改项目商标。与此同时,兴趣小组 还在寻求具备 ThreadX 经验的开发者参与进来,像之前的 Cypherbridge、PX5 和 Witekio 那样推动项目发展,努力在 2024 年 1 月底前发布 Eclipse 基金会治理下的首个 ThreadX 更新版本。
  • 维持认证:安全认证是 ThreadX 的一大差异化优势。在开源治理也继续维持住这些认证,将成为决定 ThreadX 项目未来命运的关键因素。兴趣小组希望为 ThreadX 社区建立起最佳实践,并根据需要修改并增强 Eclipse 基础开发流程,从而满足安全性及其他流程性要求。相关认证将帮助 ThreadX 的下游使用者轻松证明其产品的安全性,且基于开放许可证对外提供。这将显著缩短基于 Eclipse ThreadX 的产品的安全认证周期。
  • 建立社区:ThreadX 正是孕育开源嵌入式软件开发者社区的绝佳载体。兴趣小组将高度关注吸纳新贡献、通过开发者倡议推动项目采用,以及与 Eclipse 基金会内的其他社区(例如物联网和软件定义汽车社区)间建立往来,同时坚定维持 ThreadX 独特的安全认证优势。
  • 打响品牌知名度:恢复原有 ThreadX 之名,是为了向这项技术的使用者们保证,开源后的 ThreadX 仍是他们最信任的 RTOS。项目将把 ThreadX 品牌同厂商中立定位联系起来,传达明确的品牌形象,同时建立兼容性计划以为当前及未来的使用者提供更多价值。
  • 发展生态系统:目前全球超百亿台设备都在使用 ThreadX,这也证明其是一项重要且非常成熟的技术。为了确保 ThreadX 未来能长期保持稳定发展,兴趣小组需要各生态系统参与方的支持、协作和贡献,具体包括各芯片 /SBV 制造商、嵌入式系统集成商以及工具提供商。

参考链接:

https://techcommunity.microsoft.com/t5/internet-of-things-blog/microsoft-contributes-azure-rtos-to-open-source/ba-p/3986318

https://eclipse-foundation.blog/2023/11/21/introducing-eclipse-threadx/

https://www.theregister.com/2023/11/28/microsoft_opens_sources_threadx/

声明:本文由 InfoQ 翻译整理,未经许可禁止转载。

0 人点赞