Scheduling Algorithms
CPU scheduling algorithm deal with the problem of deciding which of the processes in the ready queue is to be allocated the CPU . six commonly used scheduling algorithms are:
1. first-come First-served(FCFS)
2. Shortest job First(SJF)
3. Priority scheduling
4. Round-Robin Scheduling(RR)
5. Multi-Level Queue Scheduling(MLQ)
6. Multi-Level Feedback Queue Scheduling (MFQ)
First-Come
First-Served Scheduling (FCFS)
·
It is simplest and the most straight forward of
all scheduling algorithms.
·
In this scheduling, the process that request the
CPU first is allocated CPU first. Thus
the name first come first served.
·
We can say that in FCFS scheduling, a process is
allocated CPU time according to the arrival time of a process.
·
The implementation of FCFS policy is easily manged
with a FIFO queue
·
When a process enters the ready queue, its PCB
is linked onto tail of the queue.
·
When CPU is free, it is allocated to the head of
ready queue.the running process is then removed from the queue.
·
FCFS scheduling algorithm is non-preemptive.
Once the CPU is allocated to a process, that process keeps the CPU until it
releases the CPU, either by terminating or by requesting I/O
1. FCFS
tends to favour CPU-bound processes. Consider . in system with one CPU bound
process and a number of I/O bound
processes. In such as system, the following scenario may arise:
·
The CPU bound process will get the CPU and holds
it.
·
During this all the other processes will finish
their I/O and move into the ready queue,
waitin for CPU. When these processes are waiting in ready queue, the I/O
devices are idle.
·
After some time, the CPU-bound process finishes
its CPU burst (CPU burst time indicates for how much time . the process needs
the CPU)and moves to an I/o devices . at this time all the I/O bound processes.
·
The CPU-bound process will then move back to
ready queue and be allocated the CPU. Again all the I/O processes end up
waiting in the ready queue until the CPU-bound process is done.
- Advantages –
- It is simple and easy to understand.
- Disadvantages –
- The process with less execution time suffer i.e. waiting time is often quite long.
- Favors CPU Bound process then I/O bound process.
- Here, first process will get the CPU first, other processes can get CPU only after the current process has finished it’s execution. Now, suppose the first process has large burst time, and other processes have less burst time, then the processes will have to wait more unnecessarily, this will result in more average waiting time, i.e., Convey effect.
- This effect results in lower CPU and device utilization.
- FCFS algorithm is particularly troublesome for time-sharing systems, where it is important that each user get a share of the CPU at regular intervals.
Example of FCFS scheduling
A real-life example of the FCFS method is buying a movie ticket on the ticket counter. In this scheduling algorithm, a person is served according to the queue manner. The person who arrives first in the queue first buys the ticket and then the next one. This will continue until the last person in the queue purchases the ticket. Using this algorithm, the CPU process works in a similar manner.
How FCFS Works? Calculating Average Waiting Time
Here is an example of five processes arriving at different times. Each process has a different burst time.
Process Burst time Arrival time P1 6 2 P2 3 5 P3 8 1 P4 3 0 P5 4 4 Using the FCFS scheduling algorithm, these processes are handled as follows.
Step 0) The process begins with P4 which has arrival time 0
Step 1) At time=1, P3 arrives. P4 is still executing. Hence, P3 is kept in a queue.
Process Burst time Arrival time P1 6 2 P2 3 5 P3 8 1 P4 3 0 P5 4 4 Step 2) At time= 2, P1 arrives which is kept in the queue.
Process Burst time Arrival time P1 6 2 P2 3 5 P3 8 1 P4 3 0 P5 4 4 Step 3) At time=3, P4 process completes its execution.
Step 4) At time=4, P3, which is first in the queue, starts execution.
Process Burst time Arrival time P1 6 2 P2 3 5 P3 8 1 P4 3 0 P5 4 4 Step 5) At time =5, P2 arrives, and it is kept in a queue.
Process Burst time Arrival time P1 6 2 P2 3 5 P3 8 1 P4 3 0 P5 4 4 Step 6) At time 11, P3 completes its execution.
Step 7) At time=11, P1 starts execution. It has a burst time of 6. It completes execution at time interval 17
Step 8) At time=17, P5 starts execution. It has a burst time of 4. It completes execution at time=21
Step 9) At time=21, P2 starts execution. It has a burst time of 2. It completes execution at time interval 23
Step 10) Let's calculate the average waiting time for above example.
Waiting time = Start time - Arrival time
P4 = 0-0 = 0
P3 = 3-1 = 2
PI = 11-2 = 9
P5= 17-4 = 13
P2= 21-5= 16
Average Waiting Time
= 40/5= 8
Comments
Post a Comment