I’m happy to announce the release of Sortix 1.0. This is the first self-hosting and installable release.
Sortix is a small self-hosting operating-system aiming to be a clean and modern POSIX implementation. It is a hobbyist operating system written from scratch with its own base system, including kernel and standard library, as well as ports of third party software.
We first reported on Sortix (version 0.9) a year ago.
The documentation is interesting.
Edited 2016-03-30 05:08 UTC
What is it with this obsession with POSIX as a benchmark and a target for hobby operating systems?
When you’re doing all the work of “written from scratch with its own base system, including kernel and standard library, as well as ports of third party software” anyway then why limit yourself to POSIX?
I understand that it’s way easier to achieve some level of usefulness running POSIX-compatible apps but there’s a multitude of OS’es doing that anyway.
Why not explore alternative ways of doing things? A monoculture of anything just leads to stagnation and when the only benchmark that new hobby OS’es are compared to is a 30-year-old standard documenting 30…40-year old established practices then ominous thoughts come to mind. When the “other” camp is Windows (and ReactOS attempting to achieve some sort of compatibility) and a blip of Plan9 in the back of people’s minds then effectively monoculture is what we have.
It’s a hobby project, not a research testbed. So it makes sense to re-use the wheel that aren’t broken, than to waste time reinventing them.
Thanks to osnews for covering this, cheers.
manjabes, there are such projects, but it’s several orders of magnitude harder for them to get this far. POSIX is just a system interface, there’s actually lots of room for innovation and quality in the implementation details. I want Sortix to be an example of this.
It’s common to see comments like yours, so there’s a FAQ on this matter at http://wiki.osdev.org/Yes_Another_Unix_Clone
How do you think your libc and musl libc compare?
I know musl is currently Linux specific but other than that It seems like the code there should be pretty clean.
Pretty impressive to have so much functionality in only 169K lines of code. Don’t be discouraged by the nay-sayers who question your wisdom in embarking on a hobbyist project (it’s probably sour grapes and envy more than anything else). Even if all you accomplish is to learn something new, then it wasn’t a waste.
sydbarrett74,
To be fair, the OP didn’t question the wisdom in embarking on a hobbyist project, he was being more critical of POSIX in general.
For me personally, I enjoy doing my own independent thing being free from all the legacy cruft, and frankly unix has a lot of it. Even something as basic as a tty is insanely complex at the lower levels in a unix stack. I suspect even sortie would agree that are better solutions.
So why not do something new? Well as sortie pointed out, it’s difficult to get very far that way. Without compatibility with POSIX, one looses access to everything that has been developed for mainstream operating systems – things like userspace tools, scripting languages, compilers, editors, file compression, etc.
Quite so. A one man project to create an operating system has too much to think about already: device drivers, schedulers, IPC, SMP, etc. If they are being creative and really engineering in those areas then realistically they will not have enough brain space to ‘just replace POSIX with something better‘.
BEOS came with some well designed API’s that might be worth adopting, if additional people got involved. The two sets of API could live alongside each other if someone were willing to maintain them. Just a thought.
ameasures,
I agree with you in principal, but the net effect is that it reinforces POSIX as the lowest common denominator. For all the work that will go into other OS personalities, it’s unlikely that they will get much use in practice even if they have better consistency and don’t carry all the evolutionary baggage/caveats.
Expenditure additional time on the street in itself can denote unerringly naught if one requirements to get some approximation about the probability of an mishap. http://www.revealcode.com/coupons/bluefly“>bluefly
Edited 2016-03-30 13:07 UTC