XyrisOS/Panix-Archive

Define Microkernel plan

Closed this issue · 3 comments

As stated here, we need to consider this:

As a microkernel must allow building arbitrary operating system services on top, it must provide some core functionality. At a minimum, this includes:

- some mechanisms for dealing with address spaces, required for managing memory protection
- some execution abstraction to manage CPU allocation, typically threads or scheduler activations
- inter-process communication, required to invoke servers running in their own address spaces

This will eventually include moving all of our drivers and libraries out of the kernel.

On the TODO list right now:
#23 - Bootstrap in Virtual Memory library
#16 - Add mouse support

A rough draft of what we need to do to begin this transition has been created. I'll add the points James introduced in a moment.
https://github.com/panix-os-dev-team/Panix/wiki/%CE%BCKernel-Plan

This is basically done. The plan is to complete WYOOS and then transition everything into userland once inter-process communication is done.