Microsoft 开源 ThreadX
Microsoft 已将其 ThreadX 实时操作系统以开源(MIT)许可发布,并将维护权交给 Eclipse Foundation,这引发了关于它会否让这个曾广泛部署但此前专有的 RTOS 重新焕发生机,还是会在官僚体系中停滞的讨论。评论者强调 ThreadX 在嵌入式领域的巨大足迹、安全认证,以及它相对于 Amazon 的 FreeRTOS 的战略角色,同时指出把核心开源并不会解锁像 Raspberry Pi 的 VideoCore 这类封闭 GPU 固件。许多人认为,只要持续资金和重新认证工作能落实,这一举措对嵌入式和安全关键系统总体上是利好。
Eclipse ThreadX 开源与许可
- 许多人认为,与继续保持专有相比,将 ThreadX 开源是一个明显的胜利,尤其是考虑到它庞大的部署规模。
- 有些人担心 Eclipse Foundation 的治理速度缓慢、过于官僚,可能会让项目停滞,但也有人指出,如果进展停滞,任何人都可以 fork。
- 关于许可存在混淆:现有的 GitHub 仓库仍显示为评估/有限硬件许可,但公告说它将转向 MIT。几位评论者把 MIT 视为最终意图状态,并期待仓库更新。
战略背景:Microsoft、AWS、FreeRTOS
- ThreadX(更名为 Azure RTOS)是在 Amazon 收购 FreeRTOS 之后被收购的;评论者认为 Microsoft 转向 Eclipse,实际上是在这个 IoT RTOS 战略上后退了一步。
- 多条帖子认为,Amazon 收购 FreeRTOS 是为了推动 AWS IoT 锁定以及汽车/“软件定义车辆”工作负载;Microsoft 被视为是在跟随而非引领。
- 有些人对大型云厂商控制核心 RTOS 感到不安,但也有人认为主要好处是更成熟的 SDK 和工具链。
安全认证与行业影响
- 一个重要主题是,ThreadX 已经拥有安全认证(例如汽车、铁路)。在开放模式下维持这些认证被认为成本高昂,但可能具有“改变行业”的意义。
- 认证被描述为流程密集,伴随持续成本以及针对变更的重新认证;尽管如此,从一个已认证的基础出发仍被认为是巨大优势。
- 关于认证是否构成控制点存在争论:你可以自由修改代码,但除非重新认证,否则会失去认证状态。共识是,这对所有人都形成同样约束,包括 Microsoft,但 Microsoft 很可能拥有更便宜的重新认证路径。
与其他 RTOS 的比较
- ThreadX 被描述为非常小而专注:本质上就是一个调度器,加上线程/内存/IPC 原语。
- Zephyr 被认为功能更丰富(更好的板级支持、测试基础设施),但更复杂,而且仍在争取安全认证。
- FreeRTOS 被广泛使用,但本身并非安全认证;在该领域有一个商业衍生版(SAFERTOS)。
- 还提到其他现在已开源的 RTOS,如 µC/OS-II/III;QNX 则被指出是独立的(由 BlackBerry 拥有),不受影响。
Raspberry Pi、VideoCore 与 GPU 固件
- 之所以对 ThreadX 格外感兴趣,是因为它支撑着 Raspberry Pi 的 VideoCore 启动固件,而该固件控制硬件,并将 ARM 核视为“slave”。
- 有些人希望这会带来 Pi 的 GPU 固件开源发布;也有人认为这不太可能,因为涉及单独的 Broadcom 知识产权、DRM 和专利风险。
- Raspberry Pi 已经存在一个洁净室开源固件;评论者说 ThreadX 的源码对那项工作基本无关紧要。
嵌入式与历史备注
- 多条帖子回顾了 ThreadX 在打印机、相机、管理引擎以及其他深度嵌入式系统中的长期使用。
- 讨论还涉及嵌入式 FOSS 工具链这些年来的进步,以及 RTOS 通常都很精简、而且往往不再是专有的。
- 另一个支线争论涉及 Linux 与 MINIX 的历史以及什么算作“fork”,这说明有些混淆,但并不影响 ThreadX 主题。