Join us

Writing an operating system kernel from scratch

Writing an operating system kernel from scratch

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.


Let's keep in touch!

Stay updated with my latest posts and news. I share insights, updates, and exclusive content.

Unsubscribe anytime. By subscribing, you share your email with @faun and accept our Terms & Privacy.

Give a Pawfive to this post!


Only registered users can post comments. Please, login or signup.

Start writing about what excites you in tech — connect with developers, grow your voice, and get rewarded.

Join other developers and claim your FAUN.dev() account now!

Avatar

The FAUN

@faun
A worldwide community of developers and DevOps enthusiasts!
Developer Influence
3k

Influence

302k

Total Hits

3712

Posts