Monarc Kernel
Monarc is an operating system kernel I have been working on since sometime in 2005. I decided to write a more robust and general purpose kernel after completing the proof of concept for the Monarc PowerPC Emulator. The original kernel for the emulator was a small embedded design and some of the code and structure are still present in this new kernel.
Monarc is written mostly in C++ with a restrained object oriented design; the structure is probably not what most people think of when they speak of object oriented design. The kernel runs on 32 bit x86 platforms, however support for multiple architectures is in the works.
These are some of the features Monarc supports:
- Preemptive multitasking
- Preemptable system calls
- Common synchronization primitives including spinlocks, mutexes, semaphores, and conditions
- Virtual memory based on an extensible memory object abstraction
- Dynamically loadable kernel modules
- Flexible structure that is easy to customize
- ACPI with increasing support for configuration and power management aspects
You can get access to the source at Google Code. Releases are done only at major milestones.