• Unit 4: CPU Scheduling

    Central Process Unit (CPU) scheduling deals with having more processes/threads than processors to handles those tasks, meaning how the CPU determines which jobs it is going to handle in what order. A good understanding of how a CPU scheduling algorithm works is essential to understanding how an Operating System works; a good algorithm will optimally allocate resources, allowing an efficient execution of all running programs. A poor algorithm, however, could result in any number of issues, from process being "starved out" to inefficient executing, resulting in poor computer performance. In this unit, we will first discuss the CPU problem statement and the goals of a good scheduling algorithm. Then, we will move on to learning about types of CPU scheduling, such as preemptive and non-preemptive. Finally, we will conclude the module with a discussion on some of the more common algorithms found in UNIX-based Operating Systems.

    Completing this unit should take you approximately 11 hours.