Short-term scheduler
The short-term scheduler (also known as CPU scheduler) selects from among the pool of process resident in memory that are ready to execute, and allocates the CPU to one of them. Thus the short-term scheduler makes scheduling decisions much more frequent than the long-term or mid-term schedulers. This scheduler can be preemptive, implying that it is capable of forcibly removing processes from a CPU when it decides to allocate that CPU to another process, or non pre-emptive (also known as "voluntary" or "co-operative"), in that case the scheduler is unable to force processes off the CPU