Trinary
From Ruud Koot
The Trinary Operating System (later Mithrill Microkernel) is a small microkernel I wrote around 2002/2003. It is quite incomplete and won't be of much practical use but may provide an interesting look to anyone interested in operating system design.
While I am no longer working on this project, I've put together a release based on the various bits of source code I found scattered around. The kernel supports:
- Basic system initialization
- This includes loading all required modules from disk, entering protected mode and initialization of the system timer and interrupt controller.
- Pre-emptive multitasking
- Modules can create any number of thread, which are all pre-emptively multitasked.
- Virtual memory management
- Each module rund in its own virtual address space
- Interprocess communication
- Basic communication (blocking send/receive) is possible between threads possibly located in different address spaces.
[edit] History
The project went through several complete rewrites while I tried out various designs. Some where written in C++, others completely in assembler. The latest version is written in C and the design heavily influenced by the L4Ka::Pistachio microkernel.
The kernel is quite incomplete but features
[edit] Subversion
You can make an anonymous checkout with the command:
svn checkout svn://svn.ruudkoot.nl/svnroot/trinary/trunk trinary