An operating system (OS) is the “software that manages a computer’s resources for its users and their applications” [1, P. 4].
- Resource allocation
An OS is responsible for resource allocation. It must allocate finite memory and processors to running applications.
An OS must provide isolation. A bug in one program shouldn’t bring down the system, and users shouldn’t be able to access or change another user’s data [1, P. 9].
Sometimes isolated programs need to communicate with each other. An OS provides mechanisms for communication between running programs [1, P. 9].
-  T. Anderson and M. Dahlin, Operating Systems: Principles and Practice. 2012.