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.
backoffAlgorithm remade in Rust: exponential backoff with jitter for network retries, no_std, forbid(unsafe), gated against the C library's own test vectors.
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).
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.
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.
A lightweight, preemptive Round-Robin RTOS built from scratch with C++17.
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.
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."