In: Computer Science
List of six process scheduling algorithms (for operating systems):
Compare and contrast the algorithms against one another here. You have at least six algorithms, so this should be an extensive part of the project, and all research based.
CPU Scheduling Algorithm:
These algorithms are used to select the next job or process which will be assigned to the CPU for execution and this selection affect the performance of the computer system because of the average waiting time and an average turn around time is different for each of the algorithms.
First-Come, First-Served (FCFS) Scheduling
This algorithm is the simplest algorithm and there is no need for more calculations for the next job or process selection. The next job is selected on the basis of arrival time, the job which comes first will be assigned the CPU first.
The main disadvantage is that if we have a very heavy CPU bound job present at the head of the queue then this job will take so much time in execution. So, the rest of the job will be delayed.
Shortest-Job-Next (SJN) Scheduling
In this algorithm, the job which has the minimum execution time is assigned first.
This algorithm is the best algorithm and also known as an optimal scheduling algorithm.
This algorithm has minimum waiting time and maximum throughput.
This algorithm may serve the starvation problem if a heavy job is not assigned to the CPU for an infinite time.
Priority Scheduling
In this algorithm, the criteria for selection of the next job or process is the priority which is tagged with each of the job. The job which has the highest priority is assigned first.
Shortest Job Next is a special case of priority scheduling in which criteria for assigning priority is the burst time.
Shortest Remaining Time Job First
The job which has the remaining execution time shortest is assigned to the CPU first. Here the priority is given to the job which has smallest burst time.
Round Robin(RR) Scheduling
A time slot is assigned to each of the processes in FCFS order and after completing the time slot, the CPU will be assigned to the next process. If the two processes join the queue at the same time then priority is given to that process which has not been executed.
This algorithm has a minimum response time.
Multi-Level Queues Scheduling
This algorithm has more than one queue and each of the queue has it's own scheduling algorithm. When a new job or process enter into the system then it is assigned to one of the queue based on priority.
This algorithm is easy to implement.
This algorithm is suffering from starvation.