This document discusses different types of scheduling algorithms used by operating systems to allocate central processing unit (CPU) resources to processes. It describes preemptive and non-preemptive scheduling, and covers common scheduling algorithms like first-come, first-served (FCFS), shortest job first (SJF), round robin, and priority-based scheduling. Formulas for calculating turnaround time and waiting time are also provided.