Skip to main content

Posts

Showing posts from June, 2026

Building a ring-native OS with Claude

I've hacked around in SerenityOS from time to time, mostly to familiarize myself with the basics of an operating system. I've found the code incredibly readable. Even a simple web developer like myself can understand most things. It is not cluttered by macros and has limited CPU architecture support, which to me is a huge plus since it makes the codebase less intimidating. Inspired by it, I wondered how hard it would be to build my own kernel. Well, it is hard of course, to make something actually useful, but what if i strictly focus on the basics? Turns out, not too hard. With Claude that is. I had a few ideas on what I would like to accomplish. Besides the kernel basics like your allocators, MMUs, interrupt handling, schedulers, I was really interested in learning one thing specifically. That is io_uring. I wanted to build a kernel that would largely avoid sync system calls and instead borrow the ideas from io_uring for all user-space I/O operations. I also did not want to im...