The System Idle Process runs KiIdleLoop continuously with one thread for each processor. You can see this using a process viewer such as Process Explorer. This function essentially checks the list of calls in deferred order (DPC) and performs any pending items (for example, for timers and hardware components). Then it calls power management ( PoIdle), which calls HAL ( HalProcessorIdle), so you can enter "power saving mode". This, on x86 systems, simply consists of enabling interrupts ( sti), and then a command hlt.
source
share