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

I love hobbiest operating systems! In a world of billions of software projects, it's sad only a small handful are OSes. I really love to watch what the Serenity[0] project is working on and I've been working to get it running on an older computer. However parts are harder to find & the spec requirements are very specific (drivers are hard).

I love the idea of doing more operating system experiments on RPIs just because of the availability & consistency of the platform. You don't have to worry about thousands of drivers for the most part, plus if you're using the RPI 400[1], basically everything is included in the keyboard!

Rust seems like a good way to get people involved as well, because of it's innate following. Excited to give this tutorial a try.

[0] https://github.com/SerenityOS/serenity [1] https://www.raspberrypi.org/products/raspberry-pi-400/



What do you think of the notoriously closed/proprietary attitude of Broadcom and the near unavailability of documentation?

I think the standard PC is a far better platform for OS development --- decades of backwards compatibility mean documentation is plentiful, and so is sample code.


Then use a Beaglebone? TI documents everything.

And x86-64 really is a really complex platform to develop from scratch for. Have you seen the C ABI specification for it?


When I did OS development we used MacBooks for x86 development. If a "standard PC" exists the Apple fell far from it, but they have to keep their OS running more than they need to save a buck on the next 10000 units.


I tried really hard to like SerenityOS but I think the decision to make it a UNIX-like POSIX system is a mistake. The POSIX API is outdated and broken in a lot of ways. I wish people would stop making UNIX-like operating systems, we have enough of those to deal with considering just the Linuxes and the BSDs.


> I wish people would stop making UNIX-like operating systems, we have enough of those to deal with considering just the Linuxes and the BSDs.

Your strong opinions on the matter may be warranted from your personal experience, but there is nothing wrong with doing such, there is zero track to you that someone somewhere on this planet is tinkering with an operating system you do not agree with the design decisions of.

> The POSIX API is outdated and broken in a lot of ways.

Curious if you could elaborate your claims. Is it a case of the old APIs must stand (and the baggage therein), or were there some fatal flaws other OS APIs avoided?


>there is nothing wrong with doing such, there is zero track to you that someone somewhere on this planet is tinkering with an operating system you do not agree with the design decisions of.

I don't understand why you're saying this or what this has to do with my comment at all. I'm a random person on the internet commenting on what I would like to see. You don't have to agree, it's fine for us to feel differently.

>Is it a case of the old APIs must stand (and the baggage therein), or were there some fatal flaws other OS APIs avoided?

I can't really name any POSIX APIs that I think are actually good. In my experience, any real programming for Linux and BSD requires a ton of non-standard non-POSIX APIs anyway. One major problem is: almost all of the core POSIX syscalls are blocking which IMO is really useless for modern programming. Since the past 10 years I haven't used any language runtime that focuses on single-threaded blocking tasks. Everything is about concurrency and async now. Also see this thread for various other problems with it: https://news.ycombinator.com/item?id=27183784

I understand that you or others may want to tinker with this stuff but please consider that an OS designer can be missing some valuable information that could be learned from people with decades of experience deploying these APIs on Linux and BSD and the various other UNIXes. That's the stuff that could save a lot of development time. In my opinion POSIX is really a red herring for OS designers, now the big thing people talk about is "Linux compatibility" which includes a significant number of other things besides POSIX.


I was initially not in the camp POSIX APIs are the devil. I felt there's inherent tradeoffs and design decisions a serious modern operating system seems to need from your comments, but ignoring that, I was suprised that is was a botherance to you?

> we have enough of those to deal

Thanks for sharing some context on why it's bad though. Cheers.




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

Search: