This document summarizes a presentation on CPU scheduling algorithms. It discusses why CPU scheduling is necessary due to underutilization of resources when processes are waiting. It then covers the differences between preemptive and non-preemptive scheduling, listing advantages and disadvantages of each. Specific algorithms like FCFS are explained, showing examples of how it schedules processes without and with arrival times and calculating waiting times, turnaround times and completion times. The document aims to explain the basics of CPU scheduling to optimize resource usage.