An operating system (OS) is the primary system software that manages hardware resources and provides common services for computer programs. It controls process scheduling, memory allocation, file systems, input/output, and user interfaces. For a broad catalogue of specific projects and releases see the List of operating systems, and for information about the machines they run on consult material about computers.
Common components
Most operating systems share a set of components that coordinate the machine:
- Kernel: core code that handles interrupts, process management, and drivers.
- Device drivers: software that controls hardware peripherals.
- File system: organization and access methods for persistent data.
- User interface: command-line shells or graphical desktops.
- System libraries and services: APIs used by applications.
Historical development
Operating systems evolved alongside hardware. Early computers used simple batch systems and supervisors. The rise of time-sharing and the UNIX family in academic and commercial settings shaped modern multitasking concepts. With personal computing came MS-DOS and later graphical systems; open-source projects and mobile platforms further diversified the landscape.
Categories and notable examples
OSes are commonly grouped by purpose and design:
- General-purpose desktop and server systems: Windows, macOS, Linux distributions, BSDs.
- Mobile operating systems: Android, iOS.
- Embedded and real-time OSes: used in appliances, automotive systems, and industrial controllers.
- Specialized research and experimental kernels exploring microkernel or exokernel designs.
Functions, uses and importance
Operating systems enable multitasking, enforce security boundaries, provide networking and manage storage. They are critical for application portability and system stability. Choice of OS influences software availability, administration tools, and ecosystem compatibility.
Distinctions and notable facts
Key distinctions include open-source versus proprietary licensing, monolithic versus microkernel architectures, and compliance with standards such as POSIX. The OS ecosystem continues to evolve as hardware, security, and user expectations change.