Operating Systems

Homework #3

Due: 2004/4/7

1.      Define the difference between preemptive and non-preemptive scheduling. State why strict non-preemptive scheduling is unlikely to be used in a computer center.

2.      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.

a.       Draw four Gantt charts illustrating the execution of these processes using FCFS, SJF, a non-preemptive priority (a smaller priority number implies a higher priority), and RR (quantum = 1) scheduling.

b.      What is the turnaround time of each process for each of the scheduling algorithms in part a?

c.       What is the waiting time of each process for each of the scheduling algorithms in part a?

d.      Which of the schedules in part a results in the minimal average waiting time (over all processes)?

3.      What advantage is there in having different time-quantum sizes on different levels of a multilevel queueing system?

4.      Many CPU-scheduling algorithms are parameterized. For example, the RR algorithm requires a parameter to indicate the time slice. Multilevel feedback queues require parameters to define the number of queues, the scheduling algorithms for each queue, the criteria used to move processes between queues, and so on.

These algorithms are thus really sets of algorithms (for example, the set of RR algorithms for all time slices, and so on). One set of algorithms may include another (for example, the FCFS algorithm is the RR algorithm with an infinite time quantum). What (if any) relation holds between the following pairs of algorithms?

a.       Priority and SJF

b.      Multilevel feedback queues and FCFS

c.       Priority and FCFS

d.      RR and SJF