Web site: sortix.org
Desktop environment: CLI
Architecture: x86, x86_64
Based on: Independent
Media: Live CD
The last version | Released: 1 | March 28, 2016
Zobacz po polsku: Sortix
Sortix – 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. It has a straightforward installer and can be developed under itself. Releases come with the source code in /src, ready for tinkering.
It has been in development since February 08 2011 by a single developer and contributors. Though the system is stable and capable right now, it is still early in development, and a number of crucial features haven’t been made yet. Releases are made yearly and future releases will add features such as networking, SMP, and USB that were skipped in favor of becoming self-hosting now.
Sortix 1.0 was released in March 2016. Its goal is to be an self-hosting system, installable on virtual machines and real hardware alike, to inspire confidence in the system and be a base for future growth.
Sortix is written in C with a C++ kernel. It has a monolithic kernel and uses the System V ABI. It has its own system call ABI. ext2 is implemented as an user-space filesystem but will be moved to a kernel driver in the next release. This release contains NetBSD’s libm but will be replaced by musl’s libm in the next release. The kernel is fully multi-threaded with 1:1 preemptive scheduling, where only interrupt handlers run with interrupts disabled.
The operating system implements primarily modern POSIX interfaces, while refusing to implement obsolete or troublesome interfaces unless the compatibility constraints are overwhelming. Poor third party code tend to not compile which draw attention to it and is an opportunity to fix it. Standards are embraced and not deviated from without good reason. The lack of compatibility constraints compared to other operating systems makes it possible to make a cleaner implementation.