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.
Features
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.