Live data from Hacker News

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

github.com

11–20 of 36 posts

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

#13
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

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

#19
post #13

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.

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

#20

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.

Post reply on HN