A Comparison of Process Scheduling Algorithms
Algorithm | Preemptive? | Description | Characteristics | Advantages | Disadvantages |
---|---|---|---|---|---|
FCFS (first come first serve) | No | Handles jobs according to their arrival time: the earlier they arrive, the sooner they served. | Suitable for batch systems. Not suitable for interactive systems because interactive users expect quick response times. | Easy to implement | Unpredictable turnaround times |
SJN (shortest job next) | No | Handles jobs based on the length of their CPU cycle time. | Suitable for batch system (i.e. all of the jobs are available at the same time and the CPU estimates are available and accurate). | Minimizes average waiting time | Indefinite postponement of some jobs |
SRT (shortest remaining time) | Yes | The CPU is allocated to the job closest to completion. | Suitable for batch system. Requires advance knowledge of the CPU time required to complete each job. | Ensures fast completion of short jobs | Overhead (i.e. OS frequently monitors CPU time for all jobs in the READY queue) incurred by context switching |
Round Robin | Yes | It's easy to implement. It is based on a predetermined slice of time that is given to each job. | Suitable for interactive systems. |
Provides reasonable response times to interactive users; provides fair CPU allocations. | Requires selection of good time quantum |
Priority | No | It allows the programs with the highest priority to be processed first. | Suitable for batch systems | Ensure fast completion of important jobs | Indefinite postponement of some jobs |
No comments:
Post a Comment