next up previous
Next: Conclusions Up: Solution description Previous: IA32 low-level functions implementation

The test operating system

To test the $\mu$-kernel, a small operating system was implemented. It is composed by

An init server that is loaded by the $\mu$-kernel at boot time. It loads the rest of the servers and is destructed by the process server during the first scheduling round.
A process server that controls the creation of tasks and performs scheduling.
A ram-fs server that implements read-only memory filesystem.
A console server that acts as a driver for the keyboard and the VGA adaptor, and implements virtual consoles.
A DMA server that administrates direct memory access channels.
A floppy disk driver server that uses the DMA server to provide raw access to the floppy disk.
A filesystem server that implements a simple filesystem using the floppy disk driver server.

The servers use the messaging and memory sharing functions of the $\mu$-kernel to communicate. The interrupt handlers were implemented as threads using the interrupt-handling support built in the $\mu$-kernel.



2002-09-17