L4TOS: The L4 Toy Operating System

Introduction

The objective of this project is produce a very simple toy operating system on top of L4Ka::Pistachio. The OS will be developed using C and assembly language for IA-32. This will be a learning experience for us and we want this project to act as some kind of "how to" documentation for building on top of L4.

Requirements

I think a standard set of tools should be listed so that anyone can compile the resulting OS:

Objectives

  1. L4TOS will be a single user OS.
  2. There will be no demand paging implemented within L4TOS, just simple paging using whatever memory is available on the host computer. This means that memory can and will run out at some point. This isn't very useful for a real OS, but for L4TOS it will be fine.
  3. Each task can have a number of threads associated with it, each thread's stack size will be set to a specific size (say 32KB) but if the programmer wishes to have a different sized stack, they can specify it on thread creation.

We only need a few servers running to provide a simple example:

Links