ScaraOS is a 32bit mutiboot OS kernel for IA32 (PC/AT) systems. I wrote it to teach myself OS fundamentals and just to have a bit of fun. It already has PCI support, the beginnings of a paged memory management system, and the start of a VFS layer. It supports the basic PC/AT stuff such as timer, PIC, keyboard, floppy.
The most recent version includes a shedload of bugfixes as well as working multi-tasking with preemption and a system call interface. So far open/close/read/write/exec/exit and a mostly functional fork() are implemented. You can grab a screenshot
The goals of scaraOS are not to reproduce POSIX or any other existing OS but to be a fun project for learning OS development. For this reason I am trying to avoid falling in to the trap of writing a bootloader with a lot of “drivers” and then calling it an “OS”. You can read the TODO list to get an idea of upcoming development. You will notice my priority is getting a functional userspace environment up and running rather than adding a lot of drivers. Now that Demand Loading, Page Cache and Context Switch and syscalls are implemented. It’s at the stage to decide on a userland API and at least get gcc and bash ported….