This document discusses different approaches to CPU scheduling. It describes three levels of scheduling: long-term, medium-term, and short-term. For short-term scheduling, which determines the next ready process to execute, it covers scheduling algorithms like first-come first-served (FCFS), shortest job first (SJF), shortest remaining time (SRT), and round-robin. It analyzes the advantages and disadvantages of each approach with regards to criteria like CPU utilization, waiting time, throughput, response time and turnaround time.