Idle (CPU)
From Wikipedia, the free encyclopedia
A computer processor is described as idle when it is not being used by any program.
Programs which make use of CPU Idle Time mean that they run at a low priority so as not to impact programs which run at normal priority. Many programs that use CPU idle time cause the CPU to always be 100% utilised, so that the time spent where the CPU would have been idle is instead spent performing useful computations. This generally causes the CPU to consume more power as most modern CPUs can enter power-save modes when they are idle.
Most operating systems will display an idle task, which is a special task loaded by the OS scheduler only when there is nothing for the computer to do. The idle task can be hard-coded into the scheduler, or it can be implemented as a separate task with the lowest possible priority. An advantage of the latter approach is that programs monitoring the system status can see the idle task along with all other tasks; an example is Windows NT's System idle process.
On modern processors, where a HLT (halt) instruction saves significant amounts of power and heat, the idle task almost always consists of a loop which repeatedly executes HLT instructions. However, on older computers, where energy dissipation was almost constant with CPU load, the program would often do useless things, like blink the front panel lights in an amusing or recognizable pattern.
Often, this meant that someone in the computer room of a timeshared system could glance at the front panel lights to see how busy the machine was; programmers might use this to decide when to take lunch or coffee breaks.[citation needed]
In Unix-like operating systems such as Linux, the idle task has process ID zero, and never exits.