Hacker News new | ask | show | jobs
by sortie 4073 days ago
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.
2 comments

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