6.1 Basic Concepts
- The execution of an application involves some sequence of I/O bursts and CPU burst. Discuss how these bursts might affect the performance of the operating system.
- Describe the role of the short-term scheduler in the operating system and how it might modify the state of processes and the system’s ready queue.
- Describe the role of a scheduling algorithm.
- Identify the circumstances in which the short-term is activated to make decisions related to changing the states of processes and moving them around the system’s queues.
- Describe the relationship between the short-term scheduler and the dispatcher in managing processes.
- When is preemption useful in scheduling? Identify the pros and cons of preemptive and non-preemptive scheduling.
6.2 Scheduling Criteria
- There are several metrics one can use to characterize the performance of a computing system: CPU utilization, throughput, turnaround time, waiting time, and response time.
- Describe each of these performance metrics and what makes more sense (higher or lower) to produce an optimized system.
6.3 Scheduling Algorithms
- Given a scheduling algorithm and information on the length of CPU bursts, process priorities, and order of arrival build a Gantt chart showing when each process is scheduled to run.
- How can scheduling algorithms operate when one does not have prior knowledge of the length of processes’ CPU burst? How can mathematics help in the absence of a crystal ball?
- From a given Gantt chart showing a sequence of processes’ CPU bursts, compute the individual waiting time and turnaround time for each process. Compute also the overall average waiting time and average turnaround time.
- You should be prepared to work with the following algorithms and to understand how they compare against one another:
- First-Come, First-Serve (FCFS)
- Shortest-Job-First-First (SJF)
- Shortest-Remaing-Time-First (SRTF)
- Priority (P)
- Round-Robin (RR)
- How does preemption affect scheduling? Are the consequences always bad, always good?
- How are the performance metrics affected by preemptive variations of scheduling algorithms? (For instance, FCFS vs. FCFS with preemption by priority, or preemptive SFJ and non-preemptive SJF.)
- What characterizes foreground and background processes?
- What motivates the idea of Multilevel Queue Scheduling and Multilevel Feedback Queue Scheduling? How do they operate?
- Explain why the Multilevel Feedback Queue Scheduling algorithm can be seen as the most general CPU-scheduling algorithm.