L4 Loader User Manual
Mainpage file doc/loader.dox
The L4 loader can be used to start L4 applications at runtime. Applications can use services of shared libraries which are loaded together with the executables. The Loader distinguishes between native, static-linked L4 tasks and Loader-style L4 tasks, which depend on the shared library
libloader.s.so, containing the L4Env runtime library.
The advantages of using the Loader mode are:
- The runtime library and therefore the region manager itself is relocatable.
- The program's pager has to page only the runtime library. All other program sections are paged by the region manager of the runtime library.
- The program gets the L4Env infopage passed. This contains some system information, the default data space manager, default stack sizes and the default file provider. These parameters and therefore the behavior of the application can be changed by the loader.
The loader application itself has to be loaded by the
GRUB boot loader and started by the
roottask
. It depends on functionalities of the DROPS servers (see
example):
roottask
(resource manager)names
(name server)log
(log server)dm_phys
(data space manager)simple_ts
(task server)
An L4 task is started either directly by specifying the filename or by using a Loader config script. The latter method allows to pass additional constraints. All file I/O is done using a file manager which has to specified when opening the file.
The script or filename can be sent to the Loader either by using the L4Linux utility run-l4 or by using the L4 program run
.
There are two examples:
- A simple example starting hello.
- An advanced tutorial on how to boot L4Linux and start the
launchpad
application parallel to L4Linux.