This document discusses and provides examples of different CPU scheduling algorithms, including shortest job first (SJF), priority scheduling, and round-robin scheduling. It defines each algorithm and provides examples of Gantt charts showing how processes would be scheduled both with and without consideration for arrival times. For each algorithm, it calculates metrics like average waiting time, turnaround time, and completion time.