Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

At the risk of sounding inflammatory (which is not my intention), what I'd like to see is the FP and RIIR crowds getting their hands dirty and write a hobby OS like this up to this level in their language of choice. If that means they need to assemble a stable ABI/API that other programmers can build against, then that's the challenge.

C/C++ programmers have been building their own hobby OS's non-stop since Linux came out. There's lots of example code out there for initializing the bare metal, writing bootloaders, task switching, controlling the MMU there for those languages. I even got a certain distance myself nearly 20 years ago, and I'm a complete hack. I only gave up because I never figured out how to initialize VESA graphics from protected mode, and I sure as hell didn't want do it with 16-bit code from the bootloader.

We all know what a disaster area C/C++ are, the number of CVE's we see in the Linux kernel and userland because of this, etc etc, we hear about it every day on HN. So I personally like to see some of those people put their money where their mouth is. I think that would be an innovation.



RIIR = Rewriting It In Rust for those that don't know


The Redox OS project is doing this, in Rust. https://www.redox-os.org/


Yes I'm aware of this one as well. Although again, the GUI toolkit doesn't look like much yet compared to the example we're discussing. And this one is written by one guy, Redox not so much.

Great to see examples that are getting close though, although I think my point stands that they are nowhere near as numerous or complete as their C/C++ counterparts.


True, although I'd personally rather see a focus on getting the backend right -- I think that's what Redox is focusing on. There are many options for "pretty" frontends, especially on Linux, but there are very few OSes out there with a decent approach to security. (Rust's inherent safety should help with that, although it's not magic security fairy dust by any means.)



Nice! Great example. I remember seeing this a while ago and being impressed. Even more impressive is that there are no .c or .s files in that repo at all that I can see.

Although it's not clear that it has a GUI toolkit up to the level of complexity that SerenityOS is showing though. If it does it's not being shown off, and I'd love to see the performance.

I'd love to see more examples if anyone can find them.


IIRC it includes a macroassembler as a DSL in lisp; booting bare-metal with zero assembly is just not possible.


> booting bare-metal with zero assembly is just not possible

Well that makes sense on Intel anyway, the first stage bootloader has to fit into a single 512-byte sector (the MBR) doesn't it? Not sure if this still true in these modern days of EFI.


Yeah, EFI sectors are larger.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: