Scheduling methods

Scheduling algorithms may use different criteria for selecting process from the ready list. In general,scheduling algorithm may be preemptive or nonpreemptive.
Four circumstances are used for making scheduling decisions.
1. When a process switches from running state to the waiting state.
2. When a process switches from the running state to the ready state.
3. When a process switches from the waiting state to the ready state.
4. When a process terminates.
Preemptive scheduling takes place for circumstances 2 and 3. Nonpreemptive scheduling takes place under circumstances 1 and 4. For 1 and 4 circumstances, scheduling is not possible and for remaining circumstance, scheduling is possible.
In preemptive scheduling, a running process may be replaced by a higher priority process at any time. Preemptive scheduling is more responsive but it imposes higher overhead since each process rescheduling entails a complete process switch.
In Nonpreemptive scheduling, once the CPU has been allocated to a process, the process keeps the CPU until it releases the CPU either by terminating or by switching to the waiting state. This method uses some hardware platforms. Microsoft Windows 3.1 and Apple macintosh operating system uses this type of scheduling method. Nonpreemptive scheduling is attractive due to its simplicity.

Comments

Popular posts from this blog

Tree pruning useful in decision tree induction

Machine Learning Syllabus