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.