A barebones time-sharing OS kernel, written in Zig, running on RISC-V. It leans on OpenSBI for console I/O and timer interrupts. Threads? Statically allocated, each running in user mode (U-mode). The kernel stays in supervisor mode (S-mode), where it catches system calls and context switches via timer ticks.
One neat trick: kernel and userland share a single binary. No dynamic linking. No loaders. Everything stitched together upfront.