Date Added: Jun 2011
When more than one process is run-able, the operating system must decide which one first. Scheduling refers to a set of policies and mechanisms built into the operating system that govern the order in which work to be done by a computer is completed. Many objectives must be considered in the design of a scheduling discipline. In particular, a scheduler should consider fairness, efficiency, response time, turnaround time, throughput, etc., Some of these goals depends on the system one is using for example batch system, interactive system or real-time system, etc. but there are also some goals that are desirable in all systems. A scheduling discipline is preemptive if, once a process has been given the CPU can taken away.