QSOE 0.1 正式发布,这是首个面向 64 位 RISC-V 系统的、受 QNX 启发的新型开源操作系统的公开版本。从一开始,它就并非面向普通用户或典型的 Linux 替代方案。相反,这是一个面向开发者的相对小众的项目。
QSOE 是一款受 QNX Neutrino 影响的实验性微内核操作系统,其长期目标是运行或移植 QNX 风格的软件。它具有小型内核、用户空间服务、同步消息传递进程间通信 (IPC) 和资源管理器模型等特点。

0.1 版本将 QSOE 的两个内核变体、引导加载程序、用户空间、shell 和 C 库整合到一个版本中。QSOE/N 使用 Skimmer,这是一个为该项目开发的定制微内核,而 QSOE/L 则运行在 seL4 15 上。这两个变体共享相同的用户空间,区别仅在于任务管理器和面向内核的 C 库组件。
此版本的主要成就是使 QSOE 能够在真正的 RISC-V 硬件上运行。也就是说,QSOE/L 现在可以从 NVMe 存储启动,并在 SiFive HiFive Unmatched FU740 RISC-V 开发板上获得交互式登录 shell。QSOE/N 也已经能够从其自身的文件系统获得交互式 QSH shell,因此这两个版本现在都可以在同一 RISC-V 硬件上启动并访问 shell。
正如我开头所说,该操作系统面向 64 位 RISC-V 架构,具体来说是基于 Sv39 内核的 RV64,并使用 QEMU 进行日常开发。目前主要支持的硬件是 SiFive HiFive Unmatched FU740,未来计划支持 SpaceMiT K3。
此版本包含 mr-bml 0.5.1,这是一个基于 GRUB 的 RISC-V EFI 引导加载程序,支持 Multiboot 3、RISC-V Linux 风格内核以及带有 EFI stub 的内核。QEMU 提供了现成的镜像,同时还提供了基于 Skimmer 的 QSOE/N 和基于 seL4 的 QSOE/L 构建的独立二进制文件。
对于 QEMU 测试,该项目提供了一个自启动的 NVMe 磁盘映像,该映像会启动 mr-bml 启动菜单,并允许启动任何 QSOE 变体。在真实的 SiFive 硬件上运行需要 RISC-V EFI 引导加载程序、匹配的内核文件以及专用的 QSOE 文件系统分区。
更多信息请参阅公告。本项目采用 Apache 2.0 许可证发布。源代码托管于GitLab。
QSOE 1.0 的路线图详细介绍了可写文件系统、双面板文件管理器、音频设备支持、一致性套件、对第二个硬件目标的支持以及增强的 QNX libc 兼容性。

