Re:The Sortix Operating System
by zokier on Monday April 20, 2015 @11:47AM
(#9408868)
I have always wondered why so many hobby operating systems seem to be so POSIX focused? Why not explore other designs or make your own?
[ Parent
| on HN ]
Re:The Sortix Operating System
by sporkenfang on Monday April 20, 2015 @12:27PM
(#9409176)
Because the POSIX standards are laid out and ready to be picked up and implemented. If I were going to learn about operating systems by building an operating system, the first place I would look for a checklist of what is needed would be the POSIX standards. After implementing something similar, I'd start iterating my project into something unique. If you don't know what you're doing, a rulebook is a great place to start.
exactly. It's a well understood problem which means you can focus on other things.
I assure you there are plenty of room for designing your own operating system even if you implement POSIX. POSIX is a pretty reasonable minimal system interface for C programs. I osdev for fun and to challenge myself and I find a very ample supply of interesting things to work on. If I went and did something different, perhaps in another language, it would likely be equivalent to the POSIX system concepts largely, except custom and probably worse. If I really wanted a custom design, I would want it to be at least a magnitude better.
There's plenty of good prior art to look at, e.g. Multics, ITS (not sure that's at all accessible) and Lisp Machines are my favorites. Even plenty of good stuff in the base Windows 32 API, which was designed with threading in mind.
Sortie, would you share what POSIX reference you used for the implementation? I wanted to read and understand it for a while, but I never made through the only one I found [1]. Maybe there are alternative sources?
[1] http://pubs.opengroup.org/onlinepubs/9699919799/nframe.html
I use that POSIX 2008 edition myself, and the PDF edition that I got through my university library subscriptions. I simply look up interfaces and headers in it. It's not a gentle introduction though to POSIX programming. But if you know the basics, it's useful to look up in. I generally use the http://wiki.osdev.org/Cross-Porting_Software method when porting new stuff, that is, I just cross-compile it. I see what doesn't compile, look it up in POSIX, and implement it.
I see, thanks a lot. That osdev wiki seems a great source in general. Woohoo! :)
Finally! The opportunity to put the E back onto CREAT!
It's right
CREAT
^
there, thoughYeah, I agonized over that. That's why I ended up saying the slightly more awkward "onto" instead of "in". Clearly that wasn't enough :)
Re:The Sortix Operating System
by Rickasaurus on Monday April 20, 2015 @01:12PM
(#9409469)
One nice thing about Posix is that it makes porting existing app to your new OS somewhat less daunting.