When I was young I used to pray for a bike.
Then I realized that God doesn't work that way.
So I stole a bike and prayed for forgiveness.

Introduction

This documentation presents the UNIX kernel I wrote
in 1994-1995. It's an almost complete implementation of the
POSIX.1 standard (IEEE Std 1003.1-1988). My main motivation
was learning about operating systems design and
architecture, kernel algorithms, resource allocation,
process scheduling, memory management policies, etc. The
result is a new POSIX compliant UNIX kernel with many
features real operating systems have: virtual memory, demand
paging, protection, swapping, etc. It is not perfect, it
probably has bugs, but in time they will get fixed and the
kernel will become more stable. Since many high-quality
free software packages are available on the Internet, coming
especially from the GNU project, I have ported many of them
to my system, with the idea of getting real functionality.

As of December 2007, Thix has been taken over by
Paul Hulme. His work
will be distributed through thix.eu.

Status

The Thix Operating System is fully functional at this time.
Many free software packages have been succesfully
compiled/run under it, including development tools such as
the GNU C/C++ Compiler suite. However, there is no
networking support and the only drivers available are for
floppy disks, (E)IDE hard disks, printers, virtual
terminals, mem, kmem and null.

The format of the executable is still a.out which is very
hard to maintain due to its so many variants. Maybe I'll
switch to ELF one day.

Thix has been developped under Linux with GCC. Many thanks
to all the people that made this possible.

Thix has been reviewed as a course project in the Department
of Computer Science at University of Salzburg. The review is
available here. I'd love to read it, but
unfortunately I can't read German.

Download

December 2006, i.e. 10 years later... Yeah, it's been
that long since I touched this stuff. I could
never get Thix to work in VMware, not straight out of the
box anyway, but now that I got a Mac and Parallels seems to handle it quite
well (minor keyboard issues notwithstanding), I figured I'd
put an image out there for people to play with.

I have created 3 images that can be useful for a number of
things (development, study, or plain curiosity). The first
one is a VMware image with an old distribution of
S.u.S.E Linux (circa 1996). This distribution has the old
versions of GCC and binutils required to compile Thix. I've
set up two accounts, root and tudor, both
using the account name as the password. The tudor
account contains the sources for the kernel and all the tools
that have been ported to Thix. I tried getting the same Linux
version to install in Parallels under Mac OS X (Tiger) as well
as convert the VMware image to Parallels once installed, and
failed miserably in both cases, so for now development is under
VMware and testing under Parallels.

The more exciting part though are the other two images, one
which is a full installation of Thix complete with a rescue
floppy disk. These are raw images (the disk one corresponds
to an IDE disk with C/H/S=163/16/63 geometry). Unfortunately,
I couldn't get Thix to work in VMware, so these images, as you
can tell from the file extensions, are for Parallels.

Thix is distributed under the GNU Public Licence. You can
download the Thix
kernel sources and the sources of the fsck
utility, a great tool in repairing damaged Thix File
Systems. To get an idea of how Thix works, you can download
the raw compressed image of a 3.5" bootable demo floppy.
Uncompress it with gunzip, dump it on a formatted 3.5"
floppy and boot from it. At the login prompt type
root to enter as superuser or guest to log
in as an ordinary user. The root password is
root and the guest password is
guest.

If you are curious and want to install the entire Thix
distribution (including the GNU C compiler and the related
utilities), just download the sources (you will need them
anyway), and read the installation instructions in the
INSTALL file.

Basically, you will have to download the install floppy
and the packages in the distribution: