Live data from Hacker News

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

github.com

21–30 of 36 posts

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

#21
post #5

> 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!

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

#23
post #22

Interesting project! When it is finished, what are your plans for it?

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.

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

#24
post #15

> 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 :)

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

#25
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)

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

#26
post #15

> 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 :)

While not basing the OS on POSIX is good, if you ever want to use it for more than a hobby, i.e. if you ever want to use it for your main personal computer, you will also need a translation layer for the LINUX syscalls, which would enable you to compile and run any of the existing open-source programs, or even run existing binaries.

Porting the programs that you are more interested in from Linux or *BSD to your own OS is the best, but this is necessarily slow and also the work of porting rarely used applications may not be worthwhile.

An alternative to a syscall translation layer is for your OS to act as a hypervisor for Linux or other OSes VMs. However, this would have a lower performance than using natively your IPC-based OS.

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

#27
post #16

Going to take a guess the author is not a Spanish speaker :p

Ross Bamford doesn't sound spanish to me

José is not an English name and here I am writing in English. People can learn other languages you know?

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

#28

Earlier quoted context omitted.

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 :)

While not basing the OS on POSIX is good, if you ever want to use it for more than a hobby, i.e. if you ever want to use it for your main personal computer, you will also need a translation layer for the LINUX syscalls, which would enable you to compile and run any of the existing open-source programs, or even run existing binaries. Porting the programs that you are more interested in from Linux or *BSD to your own O…

I agree that for it to be generally useful, it’ll need to be easy to port existing software to. But I don’t think I’ll need a translation layer at the syscall level (unless I want to expose a Linux-compatible ABI as you suggest, which is totally a non-goal).

You can get surprisingly far in this area with a decent libc implementation - once you have that porting a lot of things becomes possible. There will always be harder problems (e.g. anything that hard-depends on fork) but with enough work pretty much anything in user-space should be possible to port eventually.

I’m using newlib for libc, with a custom Anos-specific libgloss that mostly talks to SYSTEM via IPC to get stuff done, and uses syscalls where needed (and a process has the appropriate capabilities). I’m filling out that low-level interface as I go, and will be using porting of exiting BSD or Linux software to drive that implementation :)

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

#29

Earlier quoted context omitted.

While not basing the OS on POSIX is good, if you ever want to use it for more than a hobby, i.e. if you ever want to use it for your main personal computer, you will also need a translation layer for the LINUX syscalls, which would enable you to compile and run any of the existing open-source programs, or even run existing binaries. Porting the programs that you are more interested in from Linux or *BSD to your own O…

I agree that for it to be generally useful, it’ll need to be easy to port existing software to. But I don’t think I’ll need a translation layer at the syscall level (unless I want to expose a Linux-compatible ABI as you suggest, which is totally a non-goal). You can get surprisingly far in this area with a decent libc implementation - once you have that porting a lot of things becomes possible. There will always be h…

I agree that instead of implementing the Linux syscalls implementing just those libc functions that are OS dependent is sufficient for a large fraction of the existing programs.

However, this means implementing a POSIX layer, similarly to Windows NT. So it is a solution more distant from a "non-POSIX operating system".

While a large part of the Linux syscalls have been motivated by the necessities of implementing POSIX, there are also significant differences and the Linux applications that require the best performance must deviate significantly from POSIX, so they are no longer based on libc for I/O.

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

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

Post reply on HN