monitor
ARES System Manual: Kernel Monitor

The monitor is a program in ring 1 (the linkset root) that provides quality-of-life functions for managing the kernel. It may safely be deleted, but it is of value to most users, as it resets the kernel in case of a crash.

(This module was previously called 'hypervisor'. In Companion, the term 'hypervisor' was sometimes used loosely to refer to both the package manager and the user memory delegate; this program and its duties are unrelated to either.)

The monitor is not part of the OS and cannot be invoked with a system command. Instead it may be accessed by right-clicking on ARES in the unit's inventory and choosing 'Touch'. This will present the unit with a text prompt.

To send a debug command to the kernel (as described in kernel), enter 4096 <command>, e.g. 4096 reset to instruct the kernel to restart itself if possible. This is equivalent to the input built-in =ddt reset.

To change kernels, type k <kernel>, e.g. k _psyche to load the default Psyche kernel image. Inactive kernels consume no resources; see further below for a list of provided kernels.

The command reset will reset the current kernel.

If the kernel is non-responsive, the 4096 reset command (i.e., =ddt reset) will not be received. If this occurs, use the reset command to reload the current kernel.


Logging

The kernel monitor also provides system event logging functionality.

The command l (lower-case L) will toggle direct logging of all incoming kernel calls.

The command L (capital L) will send this information to the debug channel instead of OwnerSay.

The command s will enable advanced logging, which captures events after the kernel parses them and provides additional context about the kernel's decisions. This requires the verbose logging (_psyche.debug2) kernel.


Standard Kernels

This version of ARES includes the following kernels:

- _psyche-0.4.3 is the default production kernel.

No other kernels are included at this time, as the _monitor logger provides most of the utility of strong debugging.