- Layer of software interposed between the application program and the hardware.
- All attempts by an application program must go through the operating system.
- It provides applications with simple and uniform mechanisms for manipulating complicated and different low-level hardware devices
- It also protects the hardware from misuse by malicious applications

Abstractions provided by the OS

There are three fundamental abstractions provided by the OS: