QSOE Launch: Dual Microkernel QNX-style OS Debuts

The first release of the QSOE operating system has been announced, marking a significant milestone in the development of this OS that is designed in the QNX style. The operating system comes equipped with two replaceable microkernels, namely “Skimmer” and “seL4”. At the kernel level, only essential components such as the resource allocation system, the synchronous messaging mechanism (QNX IPC), and a minimalistic kernel are executed, while all other components are implemented in user space. QSOE supports operation on 64-bit CPUs with RISC-V architecture and has been tested on the SiFive HiFive Unmatched board as well as in QEMU. The project code is primarily written in C and is distributed under the Apache 2.0 license.

Users have the option to select between QSOE/N, which comes with its own Skimmer microkernel, and QSOE/L, which is based on the seL4 microkernel known for its formal reliability verification for the RISC-V architecture. Additionally, other components such as the bootloader mr-bml, the standard library libc, and a set of programs under development called quser are also part of the QSOE project. The set of programs includes utilities such as ls, cat, ps, lspci, and login, along with a command shell (qsh) based on mksh and an initialization system.

The Skimmer microkernel in QSOE utilizes lightweight threads implementation from the DragonFly BSD project, known as LWKT (Light Weight Kernel Threads), along with CPU-bound work queues and message passing primitives. QSOE allows the use of different kernels within one user environment and a consistent set of drivers. The only components that vary when changing the kernel are the task manager (taskman) and the libc library, which act as a binding over the microkernels’ QNX-like APIs.

The release of QSOE has successfully demonstrated the ability to boot and access the command shell on a real SiFive Unmatched board (FU740) with an NVMe drive. The loading process works for configurations with both cores (QSOE/L and QSOE/N), marking a significant advancement for the project.

/Reports, release notes, official announcements.