# Discussion questions: CPU scheduling

Please work out these problems before your next discussion section. The
GSIs will go over these problems during the discussion section.

### 1. Response times for different scheduling algorithms

Consider the following set of processes, with the length of the CPU-burst
time given in milliseconds and with their priorities (larger priority numbers
imply higher priority, and, in case of a tie, you can assume first-come-first-
serve ordering). The processes are assumed to have arrived in the order
P1, P2, P3, P4, P5, all at time 0.

Job |
Size (time) |
Priority |

P1 |
10 |
3 |

P2 |
1 |
1 |

P3 |
2 |
3 |

P4 |
1 |
4 |

P5 |
5 |
2 |

Consider the following scheduling algorithms: First-Come-First-Served,
Round-Robin (with quantum = 1), Shortest-Time-to-Completion-First, and a
Non-preemptive priority. Assume context switching is free.

#### a. For each scheduling algorithm, show a timeline of when jobs run, and
compute the response times for each job.

#### b. Which algorithm gives the lowest average response time?

### 2. Advantages and disadvantages of different scheduling algorithms

Consider typical considerations in designing CPU scheduling algorithms such
as scheduling overhead, starvation/fairness, average response time, CPU
utilization, and throughput. Discuss the advantages and disadvantages of
the following scheduling algorithms: STCF, FCFS, round robin,
non-preemptive priority, earliest-deadline first. Remember that the
suitability of an algorithm often depends on the workload.