The runtime interface between a domain and the kernel serves two purposes:
The key concepts are activations by which the scheduler invokes the domain, and events which indicate when and why the domain has been invoked. If each domain is considered a virtual processor, the activations are the virtual interrupts, the events the virtual interrupt status.
An important data structure associated with the virtual processor interface is the Domain Control Block (DCB). This contains scheduling information, communication end-points, a protection domain identifier, an upcall entry point for the domain, and a small initial stack. The DCB is divided into two areas: one is writable by the domain itself, the other is readable but not writable. A privileged service called the Domain Manager creates DCBs and links them into the scheduler data structures. The details of some of the fields in the DCB are described below.