An operating system (OS) manages application programs and hardware devices. It determines which applications run and in what order, manages memory sharing between applications, and handles input/output to hardware. Popular desktop OSs include Windows, Mac OS, and Linux. Batch systems run jobs non-interactively while time-sharing systems allow interactive use by multiple users simultaneously. Distributed, network, real-time, and embedded OSs are designed for specialized environments. A library OS provides typical OS services as libraries to compose with applications.