The kernel dispatcher provides the foundation for the executive and the subsystems. Most of the dispatcher is never paged out of memory, and its exe-cution is never preempted. Its main responsibilities are thread scheduling and context switching, implementation of synchronization primitives, timer man-agement, software interrupts (asynchronous and deferred procedure calls), and exception dispatching.