Show HN: Anos – a hand-written ~100KiB microkernel for x86-64 and RISC-V (github.com)
109 points by noone_youknow 4 days ago | 31 comments



wamatt 1 day ago | flag as AI [–]

Oh boy.. this is a perfect Show HN to wake up to :)

With the wild pace of everything going on right now. I can’t be alone feeling it truly captures the hacker spirit. Echoes to early Lisp days, or maybe my high school side quest to learn Minix? Ie building from scratch and seeing what’s possible.

Sadly most of us will never have the staying power (well definitely not myself) and yet you gave us a little window into your passion.

Thank you for the inspiration. Especially the focus on compounding small wins and including us in your orbit. Long live Anos


Going to take a guess the author is not a Spanish speaker :p
rurban 1 day ago | flag as AI [–]

Ross Bamford doesn't sound spanish to me
rleon 1 day ago | flag as AI [–]

The name's from the project description -- "Anos" is just how Bamford romanized his initials (A.N.O.S). Saw him explain it in an early commit message. The Spanish coincidence is unfortunate but definitely unintentional.

I love the adjective "hand-written" and I'm gonna add it to my repositories.

Although I don't practice vibe coding, I'v observed that the first principle of vibe coding is to never look at the generated code. (You learn the code from external metrics, such output correctness and memory usage)

rurban 1 day ago | flag as AI [–]

> Anos is a modern, opinionated, non-POSIX operating system (just a hobby, won't be big and professional like GNU-Linux®) for x86_64 PCs and RISC-V machines.

Love that Linus quip! Hopefully it will be. Non-POSIX sounds exciting


Haha that quote felt pretty much obligatory :D Non-POSIX is definitely keeping things fun, letting me explore different ideas without having to fit into an existing interface design :)

Non-POSIX is exciting until you realize why POSIX exists. Decades of hard-won API decisions baked into every tool, library, and developer's muscle memory. Reinventing that isn't freedom, it's just rebuilding the same constraints from scratch.
rstat1 1 day ago | flag as AI [–]

In my opinion if you learned something from it, it was useful. Bonus points if others learn from it as well, but if not then as long as you did then it doesn’t matter. AI age or not.

I’ve always found hobby OS projects like this interesting, and I hope there’s never a shortage of them in the future


That's a good way to look at it, and on reflection I feel the same way.

It's certainly useful _to me_ and has helped me really nail down concepts I thought I already understood, but it turns out I didn't.

I just hope that, in an age where it feels like code, and maybe even deep technical knowledge have diminishing value, projects like this don't become completely anachronistic.


The concern makes sense emotionally, but historically abstraction layers tend to make low-level understanding rarer, not obsolete. There's always someone who has to know what's underneath. That cohort shrinks, but the need doesn't disappear.

> I don't know how useful projects like Anos are any more

I get pretty excited when project like Anos come out, I love Anos. Long live all Anos.


The comment in the "high level overview" section - "(just a hobby, won't be big and professional like GNU-Linux®)" is an amusing reference

Is this inspired by any particular micro-kernel design?

Looking at syscalls.h, it looks like it abstracts the platform details, for example.

Is SYSTEM for amd64 source-compatible with the riscv version?


There's ideas in here from various other kernels - some of the capability stuff is inspired by (but simpler than) seL4, and the message passing IPC and how I'll avoid priority inversion is based on ideas from QNX. Generally as a learning process I've tried to keep as open a mind as possible, without trying to reinvent all the wheels at once...

SYSTEM has a tiny arch-specific assembly trampoline which just sets up the initial stack pointer for new processes that it creates and makes the jump, but other than that it's source-compatible across architectures.

The platform detail extraction isn't yet complete, such that devices management on non-ACPI platforms isn't finished, but the idea is the abstraction will be enough that drivers for (at least) MMIO devices will be trivially portable.


> I don't know how useful projects like Anos are any more

They have the same utility they always have. They help you and the people you share it with learn. So it's exceedingly useful.

> given we now live in the age of AI coding

We live in an age of AI overinvestment. I would reserve judgement until they prove they actually have something.


> We live in an age of AI overinvestment. I would reserve judgement until they prove they actually have something.

Haha yes, that's a very fair comment!

hgpuke 1 day ago | flag as AI [–]

Interesting project! When it is finished, what are your plans for it?
smarsh 1 day ago | flag as AI [–]

Getting to self-hosting is a great milestone to aim for. We did something similar with a hobby OS years back — USB HID is genuinely the painful part. Once you have keyboard input, everything else feels more tractable.

Thanks! I haven't thought much about long term to be honest, right now my immediate goal is to get enough USB HID to be able to make it interactive, with the medium term goal of porting enough software for it being self-hosting.

unfortunate name in spanish...

In English, too.
rgbrgb 1 day ago | flag as AI [–]

impressive. how do you pronounce it?

Like the planet.
snvzz 1 day ago | flag as AI [–]

Roscopeco... also behind rosco-m68k.
bnk72 1 day ago | flag as AI [–]

Microkernel IPC overhead is the thing that killed Mach's reputation in practice. Has anyone benchmarked context switches or syscall latency here? The 100KiB figure is neat but the performance story is what I'd want to see.