Back to browse
GitHub Repository

An operating system

111 starsC

Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V

by noone_youknow·Apr 4, 2026·115 points·32 comments

AI Analysis

●●●BangerWizardryBig BrainNiche Gem

Dual-architecture microkernel that boots on real hardware with zero AI in the kernel.

Strengths
  • Capability-based security model with synchronous zero-copy IPC primitives.
  • Runs on actual UEFI hardware with up to 16 CPU SMP support.
  • Custom GCC-based toolchain with Newlib and libgloss for cross-compilation.
Weaknesses
  • Not POSIX-compatible, limiting software ecosystem and portability.
  • RISC-V SMP support still in progress, x86-64 is the primary target.
Target Audience

OS developers, systems programmers, hobby kernel enthusiasts

Similar To

Redox · SerenityOS · ToaruOS

Post Description

I pretty much always have a kernel project going on, and have been that way for decades. Over the past couple of years, that's been Anos, which has gotten further along than any of my previous hobby kernels, supporting IPC, multitasking, SMP (x86-64 only right now) and running on real hardware.

LLMs (mostly Claude Code) have been used during development, but I learned early on that it's not _great_ at code at this level, so I've restricted its use to mostly documentation and tests. There's _a little_ AI code in the user space, but I have a strict "no AI code" rule in the kernel itself. I find this helps not only with the quality / functionality of the code, but also with learning - for example, even though I've written multiple kernels in the past, it wasn't until Anos that I _truly_ grokked pagetable management and what was possible with a good VMM interface, and if I'd outsourced that implementation to an LLM I probably wouldn't have learned any of that.

In terms of approach, Anos avoids legacy platform features and outdated wiki / tutorial resources, and instead tries to implement as much as possible from manuals and datasheets, and it's definitely worked out well so far. There's no support for legacy platform features or peripherals, with all IO being memory mapped and MSI/MSI-X interrupts (no PIC), for example, which has helped keep the codebase focused and easy to work on. The kernel compiles to about 100KiB on x86-64, with enough features to be able to support multitasking and device drivers in user space.

As a hobby project, progress ebbs and flows with pressures of my day job etc, and the main branch has been quiet for the last few months. I have however been working on a USB stack as time allows, and hopefully will soon have at least basic HID support to allow me to take the next step and make Anos interactive.

I don't know how useful projects like Anos are any more, given we now live in the age of AI coding, but it's a fun learning experience and helps keep me technically grounded, and I'll carry on with it for as long as those things remain true.

Similar Projects

Developer Tools●●Solid

I've Added Gdbstub to UVM32

GDB stub on a 3KB embedded VM — debug bytecode on STM32 without leaving your workflow.

Niche GemWizardry
hamid_rostami
101mo ago