Chapter 5 discusses CPU scheduling in multi-programming systems, emphasizing its importance for maximizing CPU utilization. Different types of schedulers are explained, including long-term, short-term, and medium-term, along with various scheduling algorithms such as First-Come, First-Served, Shortest Job First, and Round Robin. The chapter concludes with an overview of scheduling criteria such as CPU utilization, throughput, and turnaround time.