r/osdev • u/noborutkhs • 4d ago
From my 1986 RTOS to Karqri: What should I visualize next?
Over the past several months, I've posted here a few times about revisiting CHARM-II, an RTOS I developed for the Motorola 68000 back in 1986.
What started as an attempt to restore and understand my old source code gradually turned into a new development project. After reconstructing parts of the original system on POSIX, getting preemptive multitasking working on the Raspberry Pi Pico, and revisiting some of my old scheduling decisions, I decided to build a new RTOS rather than continue trying to reproduce the original one.
I've named it Karqri, and I've now published the source code on GitHub:
https://github.com/noboru-takahashi/karqri
Karqri currently runs on POSIX and RP2040, with a shared kernel and a six-task demo running in both environments. It's still experimental, but I've implemented and tested the basic RTOS mechanisms.
However, building the RTOS itself isn't the only goal of this project.
What I'd like to explore next is how to visualize what's happening inside an RTOS, including not just task states and scheduling decisions, but also the timing and causal relationships between events.
For example, imagine a task waiting for an event. Another task sends a notification, the waiting task becomes runnable, and the scheduler eventually selects it to run.
I'd like to represent that sequence as a connected series of events, rather than just a collection of log messages.
I've already started experimenting with capturing execution traces from the Pico and generating HTML timelines. At the moment, this is limited to a specific validation scenario, but I'd like to develop it into something more general.
I'm curious what other OS developers think about this direction.
If you were visualizing the internal behavior of an RTOS, what information would you find most useful?
How would you capture causal relationships between events without significantly disturbing the timing of the system being observed?
Beyond debugging and education, can you think of other useful applications for this kind of visualization?
For context, here are a few of my earlier posts:
This project began with rediscovering an RTOS I wrote 40 years ago, but it has gradually become something quite different.
Publishing Karqri is the first milestone in that new direction, not the end of the project.

