A free QNX-like operating system (2003)
I came across an old post of mine on the comp.os.qnx newsgroup, dated August 7, 2003. The subject line was "A free QNX-like operating system," and under it I announced RadiOS — a hobby effort to build a free, QNX-compatible microkernel OS for x86, with the microkernel and task manager written entirely in NASM assembly. About 70% of the required system calls were in place by then, along with parts of libc, a console resource manager, and an ATA/IDE driver; there was no filesystem manager yet. The post asked whether anyone wanted to help hack on it, and signed off with "73!".
The thread is here: https://groups.google.com/g/comp.os.qnx/c/srdvVoik37M
The fuller picture survives on the old SourceForge page, still up at radios.sf.net. RadiOS targeted system-call compatibility with QNX Neutrino 6.1; its Task Manager mirrored the QNX process-manager message format, and its libc was derived from QNX 6.1 code. By mid-2004 it ran to roughly 45,000 lines, almost all NASM, with the only C part being a boot-time module linker. The page claims — fairly, for the time — that no other open-source project was then aiming at binary compatibility with QNX Neutrino. The copyright line goes back to 1998.
So the goal is not new. A free, QNX-compatible microkernel operating system is something I have been chasing, on and off, for about a quarter of a century. RadiOS was x86 and assembly, and it never grew a filesystem. What changed is that the idea finally arrived: that 25-year-old hobby project has evolved into QSOE — a QNX Neutrino-compatible microkernel OS for 64-bit RISC-V that boots to an interactive login shell on real hardware, in two variants sharing a single userspace, one on a custom microkernel and one on seL4.
Different decade, different architecture... but the same idea.
Comments
Post a Comment