The Preemptive RTOS with Event-Driven framework for learning purposes.
-
Updated
Jul 16, 2026 - C
The Preemptive RTOS with Event-Driven framework for learning purposes.
StratOS - A Real-Time Operating System using Template-based Policy Design by C++17
From-scratch AArch64 RTOS with preemptive scheduling, IRQ handling, and context switching.
Quartz is a small (less than 2 KLOC), fast, portable, configurable RTOS written in C.
The FreeRTOS C ABI over the Kairos kernel: xTaskCreate, xQueueSend, xSemaphoreTake, xTimerCreate and the rest as extern C symbols with generated FreeRTOS.h-compatible headers, so a C program relinks and the unmodified C demo tasks pass.
The FreeRTOS standard demo tasks (Demo/Common/Minimal) remade in Rust as the Kairos conformance corpus: every scenario self-checks like the C original and, on the sim port, diffs its trace against the C kernel's.
FreeRTOS-Kernel remade in Rust: the fixed-priority preemptive scheduler, task notifications, queues, semaphores, mutexes with priority inheritance, queue sets, software timers, event groups, stream and message buffers.
A lightweight, preemptive Round-Robin RTOS built from scratch with C++17.
coreMQTT remade in Rust: all 218 of v5.0.2's functions, each proven against the pinned C — the wire codec both ways, the connection, the receive loop and the QoS 1/2 state machine. no_std, forbid(unsafe).
A minimal RTOS kernel implemented from scratch on ARM Cortex-M, featuring cooperative, round-robin, and priority-based schedulers with explicit context switching and stack management.
backoffAlgorithm remade in Rust: exponential backoff with jitter for network retries, no_std, forbid(unsafe), gated against the C library's own test vectors.
The shared vocabulary of the Kairos family (FreeRTOS remade in Rust): ticks, priorities, generational handles, one Copy error, the Config trait, and the Port / Heap / Trace / Hooks seams. No pointers, no allocator, no arch. forbid(unsafe).
To associate your repository with the rtos-kernel topic, visit your repo's landing page and select "manage topics."