운영체제는 크게 시스템 관점과 사용자 관점으로 바라볼 수 있다. 우선 시스템 관점에서 바라보면, 운영체제는 자원 할당자(Resource Allocator)로서 기능 한다. 컴퓨터를 구성하는 많은 자원들(cpu, memory, storage..)을 필요로하는 프로그램들에게 절절하게 할당하는 역할을 수행한다. 또한 다양한 I/O 장치들과 사용자 프로그램을 제어(Control)하는 역할 또한 수행한다.
사용자 관점에서 운영체제를 바라보면, 운영체제의 목적은 사용자가 작업을 최대한 편하게 수행하도록 돕는 것이다. 사용자가 자원의 할당, 성능, 보안을 크게 신경쓰지 않고 오로지 본인의 작업에만 집중할 수 있도록 돕는 역할을 수행한다.
정리하자면 운영체제란
컴퓨터의 물리적인 자원을 사용&관리하며, 사용자가 작업을 수행하도록 도와주는 소프트웨어이다.
- Operating System Concepts, 10th edition, 4p
흔하게 운영체제는 컴퓨터에서 항상 동작하고 있는 커널이라는 하나의 프로그램을 지칭한다.
하지만, Operating System Concepts 10th edition 에서는 OS는 커널, 시스템 프로그램, 어플리케이션 프로그램의 집합이라고 설명한다.
정리하면
운영체제는 항상 동작하고 있는 커널(Kernel), 어플리케이션 개발을 용이하게하고, 여러 기능을 제공하는 미들웨어(Middlewares), 시스템이 실행되는 동알 그 시스템을 관리하는 시스템 프로그램(System Programs) 로 구성된다.
- Operating System Concepts, 10th edition, 7p