This document discusses operating systems and their functions. It defines an operating system as a program that mediates between application programs and hardware components, acting as an interface between users and computer resources. The key needs for an operating system are to make proper use of hardware resources, provide a consistent way for applications to deal with hardware without knowing details, and control and coordinate all computer system activities like memory allocation, process prioritization, networking and file management. The major functions of an operating system are device management, process management, memory management and storage management. It also discusses process scheduling and the types of scheduling that can occur.