mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-21 02:01:38 +00:00
This patch equips init with the ability to act as a server that forwards session requests to its children. Session requests can be routed depending of the requested service type and the session label originating from init's parent. The feature is configured by one or multiple <service> nodes hosted in init's <config> node. The routing policy is selected by via the regular server-side policy-selection mechanism, for example: <config> ... <service name="LOG"> <policy label="noux"> <child name="terminal_log" label="important"/> </policy> <default-policy> <child name="nitlog"/> </default-policy> </service> ... </config> Each policy node must have a <child> sub node, which denotes name of the server with the 'name' attribute. The optional 'label' attribute defines the session label presented to the server, analogous to how the rewriting of session labels works in session routes. If not specified, the client-provided label is presented to the server as is. Fixes #2247
This is the example operating system based on the Genode OS framework: :_Init_: is the first real process in the system. The provided implementation uses a very simple XML parser to read its configuration files. :_Drivers_: The example OS has basic drivers for frame buffer, mouse and keyboard input, the PCI bus, the real-time clock, and system-specific timers. :_Server_: The only server in the example OS is Nitpicker, a minimal-complexity GUI server. :_Test_: are also part of the example OS. You may have a look at the fork bomb as a simple system stress test. :_Ldso_: is the dynamic linker used for loading executables that are linked against shared libraries. :_Lib_: contains libraries used by the components of the OS repository, for example, the alarm framework.