SGG 6 (02)

6.1 Basic Concepts

This section discusses some of the basic concepts of CPU scheduling.

  • What is an I/O-burst? What is a CPU-burst? How do they affect performance of an OS?
  • What does a short-term scheduler do?
  • What is a scheduling algorithm?
  • How does a scheduler put a process onto a CPU or take it off a CPU?
  • At what point in the life of a process does the CPU scheduler play a role?
  • What is a non-preemptive scheduling algorithm? What is a preemptive scheduling algorithm?
  • What is a dispatcher?

6.2 Scheduling Criteria

This section discusses CPU scheduling criteria, that is, what does it mean for a CPU scheduling algorithm to be good or bad?

  • We would like to optimize the performance of CPU scheduling. But what are the measurements for performance?
  • The following is a list of performance measures, some of which are in conflict with each other.
    • CPU utilization: the higher, the better.
    • Throughput: the higher, the better.
    • Turnaround time: the smaller, the better.
    • Waiting time: the smaller, the better.
    • Response time: the smaller, the better.
  • Students need to be fluent on these terms, be able to explain what they mean, and the relation among these measures.

6.3 Scheduling Algorithms

This section discusses various CPU scheduling algorithms.

  • For each of the following algorithms, students should be able to explain how the algorithm works, the advantages and disadvantages of the algorithm in comparison to others, and in what conditions these algorithm can and should be used.
    • First-Come, First-Serve Scheduling (FCFS)
    • Shortest-Job-First-First Scheduling (SJF)
    • Shortest-Remaing-Time-First
    • Priority Scheduling
    • Round-Robin Scheduling (RR)
    • Multilevel Queue Scheduling
    • Multilevel Feedback Queue Scheduling

6.4 Thread Scheduling

  • What are some of the special issues in thread scheduling that usually are not seen in process scheduling?
  • What is a contention scope?
  • What are the differences between a kernel thread and a user thread?
  • Pthread scheduling example

6.8 Algorithm Evaluation

  • Deterministic modeling
  • Queuing modeling
  • Simulation
Print Friendly