Trinary

From Ruud Koot

Jump to:navigation, search

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
For you
For me
Web 2.0
Wikis
Toolbox