This document discusses CPU scheduling and scheduling criteria. It covers the CPU scheduler or short term scheduler which selects processes from the ready queue to allocate the CPU to. It describes various scheduling criteria like CPU utilization, throughput, turnaround time, waiting time and response time that are used to compare scheduling algorithms. The goal of scheduling is to always keep the CPU busy while maximizing throughput and minimizing waiting times and turnaround times of processes.