Introduction | The intention of this section is to provide a short overview about the L4Re environment |
Tutorial | This tutorial assumes that the reader is familiar with the basic L4 concepts that were discussed in the Introduction section and has a working knowledge of C++ |
▼Programming for L4Re | This part of the documentation discusses the concept of microkernel-based programming in more detail |
Capabilities and Naming | The L4Re system is a capability based system which uses and offers capabilities to implement fine-grained access control |
Initial Environment and Application Bootstrapping | New applications that are started by a loader conforming to L4Re get provided an Initial Environment |
Memory management - Data Spaces and the Region Map | |
Program Input and Output | The initial environment provides a Vcon capability used as the standard input/output stream |
Initial Memory Allocator and Factory | The purpose of the memory allocator and of the factory is to provide the application with the means to allocate memory (in the form of data spaces) and kernel objects respectively |
Application and Server Building Blocks | So far we have discussed the environment of applications in which a single thread runs and which may invoke services provided through their initial objects |
Pthread Support | L4Re supports the standard pthread library functionality |
Interface Definition Language | An interface definition in L4Re is normally declared as a class derived from L4::Kobject_t |
▼L4Re Build System | L4Re uses a custom make-based build system, often simply referred to as BID |
prog.mk - Application Role | The prog role is used to build executable programs |
include.mk - Header File Role | The header file role is responsible for installing header file at the appropriate location |
test.mk - Test Application Role | The test role is very similar to the application role, it also builds an executable binary |
▼L4Re Servers | Here you shall find a quick overview over the standard services running on Fiasco.OC and L4Re |
Moe, the Root-Task | Moe is the default root-task implementation for L4Re-based systems |
Ned, the Init Process | Ned's job is to bootstrap the system running on L4Re |
Io, the Io Server | The Io server handles all platform devices and resources such as I/O memory, ports (on x86) and interrupts, and grants access to those to clients |
Uvmm, the virtual machine monitor | Setting up guest memory
|
Mag, the GUI Multiplexer | Mag is the default multiplexer for graphics hardware |
Cons, the Console Multiplexer | Cons allows to multiplex console output from different L4 clients to different L4::Vcon-capable in/output servers |
Deprecated List | |