Norman Feske 84fddafda7 init: enable init to report its internal state
This patch equips init with the ability to report its internal state in
the form of a "state" report. This feature can be enabled by placing a
'<report>' node in init's configuration.

The report node accepts the following arguments (with their default
values):

'delay_ms="100"': specifies the number of milliseconds to wait before
  producing a new report. This way, many consecutive state changes -
  like they occur during the startup - do not result in an overly
  large number of reports but are merged into one final report.

'buffer="4K"': the maximum size of the report in bytes. The attribute
  accepts the use of K/M/G as units.

'init_ram="no"': if enabled, the report will contain a '<ram>' node
  with the memory stats of init.

'ids="no"': supplement the children in the report with unique IDs, which
  may be used to infer the lifetime of children accross configuration
  updates in the future;

'requested="no"': if enabled, the report will contain information about
  all session requests initiated by the children.

'provided="no"': if enabled, the report will contain information about
  all sessions provided by all servers.

'session_args="no"': level of detail of the session information
  generated via 'requested' or 'provided'.

'child_ram="no"': if enabled, the report will contain a '<ram>' node
  for each child based on the information obtained from the child's RAM
  session.

Issue #2246
2017-02-28 12:59:22 +01:00
..
2015-06-22 14:43:34 +02:00

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.