mirror of
https://github.com/genodelabs/genode.git
synced 2025-05-31 14:40:54 +00:00
This patch improves init's dynamic reconfigurability with respect to adjustments of the RAM quota assigned to the children. If the RAM quota is decreased, init withdraws as much quota from the child's RAM session as possible. If the child's RAM session does not have enough available quota, a resource-yield request is issued to the child. Cooparative children may respond to such a request by releasing memory. If the RAM quota is increased, the child's RAM session is upgraded. If the configuration exceeds init's available RAM, init re-attempts the upgrade whenever new slack memory becomes available (e.g., by disappearing other children).
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.