Daniel Bittman


SeaOS - A Simple, Self-hosting Unix-like Kernel

Back in 2005, I started writing a kernel. It failed, because I had no idea what I was doing. I then tried again, and again, and my perseverance led me to the current iteration of my unix-like kernel. It still needs a lot of work, and progress has slowed significantly since my current PhD research involves writing an operating system.


It supports AHCI, Ethernet, e1000 NICs, RTL8139 NICs, IPv4, TCP, UDP, Unix Sockets, standard Unix system calls (including poll and select), threading via clone(2), the Musl C library, and much of the Linux system call interface. It is self-hosting, running a large Unix userland with many common tools and programs. The networking stack is still limited, but it can connect to the internet via its experimental TCP implementation.