This document discusses types of operating systems and utilization of CPUs. It begins by defining operating systems and providing examples. It then describes various types of operating systems including single-tasking vs multi-tasking, single-user vs multi-user, distributed, templated, embedded, real-time, and library operating systems. It also discusses CPU scheduling and how it allows processes to share CPU resources. It defines CPU utilization and provides formulas to calculate it. Finally, it lists some scheduling criteria like CPU utilization, throughput, turnaround time, waiting time, and response time that help improve CPU usage.