My OS (DEX-OS) design stems from concepts found in Extensible Operating Systems (Hot-swappable / plug-in style modules), examples of OS'es like these are KEA and XINU. Initially, I intended it only for educational purposes since I want it to be easy for students to compare schedulers and scheduling algorithms but I discovered it has other advantages as well. My OS is already functional and features multitasking, ATA/floppy, ramdisk support, Virtual Consoles and Paging. There is also an "unstable" port of the Tiny C Compiler for dex-os as well as a stable port of nasm and some popular games

As an extensible operating system, I have implemented kernel mode plug-ins/grafts/extensions, user-mode plug-ins or KEA-style portals are still in my planning horizon. My scheduler is fully dynamic and can be changed even when processes are running. Also my kernel malloc function can be changed on the fly... once. Of course there are difficulties encountered when creating hot-swappable modules and many components need to be studied carefully in order to find a way to "disconnect" it from the system.
Visit my site or join the project at:
http://sourceforge.net/projects/dex-os/
I also have some documents about my design as well as my source code. There is also a floppy disk image for convenience.
Feel free to post at sourceforge or here about my design, developing an extensible operating system is very tricky and I need all the help I can get. Pype e-mailed me and told me that we have similar goals, I hope dex-os and the clicker project can work together to solve problems on making modules dynamic. An example problem: In the dynamic kernel malloc module, how do you deal with the realloc function? (This problem is illustrated in memory/kheap.c of the dex-os source code).
Thank you very much.