운영체제(Operating System)는 하드웨어와 소프트웨어 사이에 위치한 소프트웨어 계층으로 생각할 수 있다. 응용프로그램이 하드웨어를 제어하려면 언제나 운영체제를 통해야만 한다. 그 이유는 다음과 같다.
운영체제는 두 가지 주요 목적을 가지고 있다.
- 제멋대로 동작하는 응용프로그램들이 하드웨어를 잘못 사용하는 것을 막기 위해
- 응용프로그램들이 단순하고 균일한 메커니즘을 사용하여 복잡하고 매우 다른 저수준 하드웨어 장치들을 조작할 수 있도록 하기 위해
위 그림처럼 운영체제는 아래 세 가지에 대해서 근본적인 추상화를 통해 위 두 가지 목표를 달성하고 있다.
출처 : Computer Systems A Programmer's Perspective(3rd Edition)