Exercise Set Two
Chapter 5
Problem 5.4: Consider the following set of processes,
with the length of the CPU-burst time given in milliseconds:
Process
Burst Time
Priority
P1
10
3
P2
1
1
P3
2
3
P4
1
4
P5
5
2
The processes are assumed to have arrived in the order P1,P2,P3,P4,P5,
all at time 0.
- Draw four Gantt charts illustrating the execution
of these processes using FCFS, SJF, a nonpreemptive priority ( a smaller
priority number implies a higher priority), and RR(quantum=1) scheduling.
- What is the turnaround time of each process for
each of the scheduling algorithms in part a?
- What is the waiting time of each process for each
of the scheduling algorithms in part a?
- Which of the schedules in part a results in the
minimal average waiting time (over all processes)?
Answer:
a. The four Gantt charts are:
FCFS:
RR:
1 |
2 |
3 |
4 |
5 |
1 |
3 |
5 |
1 |
5 |
1 |
5 |
1 |
5 |
1 |
SJF:
Priority:
b. Turnaround time
|
FCFS |
RR |
SJF |
Priority |
P1 |
10 |
19 |
19 |
16 |
P2 |
11 |
2 |
1 |
1 |
P3 |
13 |
7 |
4 |
18 |
P4 |
14 |
4 |
2 |
19 |
P5 |
19 |
14 |
9 |
6 |
c. Waiting time (turnaround time minus burst time)
|
FCFS |
RR |
SJF |
Priority |
P1 |
0 |
9 |
9 |
6 |
P2 |
10 |
1 |
0 |
0 |
P3 |
11 |
5 |
2 |
16 |
P4 |
13 |
3 |
1 |
18 |
P5 |
14 |
9 |
4 |
1 |
d. Shortest Job First
Problem: What advantage is there in having different
time-quantum sizes on different levels of a multilevel queuing system?
Answer:
Processes which need more frequent servicing, for
instance interactive processes such as editors, can be in a queue with
a small time quantum. Processes with no need for frequent servicing can
be in a queue with a larger quantum, requiring fewer context switches to
complete the processing; making more efficient use of the computer.
Problem: Suppose that a scheduling algorithm (
at the level of short-term CPU scheduling) favors those processes that
have used the least processor-time in the recent past.Why will this algorithm
favor I/O-bound programs and yet not permanently starve CPU-bound programs?
Answer:
It will favor the I/O bound
programs because of the relatively short CPU burst request by them; however,
the CPU-bound programs will not starve because the I/O-bound programs will
relinquish the CPU relatively often to do their I/O.
|