Codezero Microkernel v0.2 Released

Bahadir Balban bahadir at l4dev.org
Mon Dec 7 13:52:39 CET 2009


I would like to announce that Codezero Microkernel v0.2 is released.

On this release, the microkernel is now fully capability checked, and we 
introduced the notion of containers to provide isolated execution 
environments. Please see below for a brief description.


1.) Containers

In Codezero containers provide the architectural infrastructure for 
isolation of execution environments. Each container is allocated with a 
set of address spaces, threads, and any other resource that would 
otherwise be globally available on the platform, such as virtual and 
physical memory.

Using the simple notion of containers, it is possible to build any type 
of software design hierarchy. A hierarchical client/server design, or 
multi-threaded standalone applications are both possible scenarios.


2.) Capabilities

Capabilities protect all resources maintained by the kernel. Currently, 
all system calls are protected by capabilities, except a few trivial 
ones that have been left out. Physical and virtual memory, typed memory 
pools, and inter-process communication are among other resources that 
are protected by capability checking.

Capabilities build upon the foundation of containers, providing a 
fine-grained security architecture, inside and among container boundaries.

We also introduced a capability control system call, by which the 
capabilities may be shared, granted and modified in different ways, 
enabling a highly flexible and configurable security architecture.


3.) Configuration

We attempted to present the above two notions in an easily manageable 
kernel configuration system. Containers, their parameters and 
capabilities may be adjusted easily at configuration time, using our 
CML2-based kernel configuration system.

We are aiming to evolve the L4 API into the future by feedback, hence 
this email post. Codezero Project is open with a GPLv3 license.

If you are interested to learn more, download by:

git-clone git://git.l4dev.org/codezero.git


A useful jump-start guide:

http://www.l4dev.org/doku.php?id=getting_started_quick


API reference man pages:

man -M codezero/docs/man pagename


Thanks,

-- 
Bahadir Balban




More information about the l4-hackers mailing list