| |||
| Home > IEM Software Overview > IEM software components > The IEM kernel | |||
The IEM kernel is the main component at the heart of the IEM software. It is shown in Figure 1.6, together with its associated components.
The IEM kernel is responsible for:
interpreting and implementing the control messages sent by the Control component
receiving notification of system events, through calls to its kernel hooks that are made by the OS (see Handling system events)
initializing and maintaining structures that contain information about the system, including:
the policies that are available, and how to run them (see The policies, and The policy stack)
an event queue describing the recent system events that have occurred (see The event queue)
a list of IEM blocks describing the tasks that triggered these events (see The IEM blocks)
running the policies whenever relevant system events occur (see Running the fast event handlers, and Running the standard event handlers)
evaluating the performance levels requested by the policies, to determine the performance level to set
setting the current performance level using the IEM HAL
sending messages containing trace data to the Trace Data component.
The IEM kernel does not contain any system-dependent code. It implements all system-dependent functionality by making calls to the Comms layer, the OS layer, and the IEM HAL.