컴퓨터 시스템은 대개 4가지 구성요소 하드웨어, 운영체제, 응용 프로그램, 사용자로 구분할 수 있다.
하드웨어는 말 그대로 장치들을 일컫는다. 중앙 처리 장치(CPU), 메모리 및 입/출력(I/O) 장치로 구성되어있다.
응용 프로그램은 컴파일러, 웹 브로우저, 워드 프로세서 등등 사용자의 계산 문제를 해결하기 위해 이들 자원이 어떻게 사용될지를 정의하는 것들이다.
운영체제는 다양한 사용자들을 위해 다양한 응용 프로그램 간의 하드웨어 사용을 제어하고 조정하는데, 그 자체로는 유용한 기능을 수행하지 못한다. 단순히 다른 프로그램이 유용한 작업을 할 수 있는 환경을 제공하는 것이다.
관점에 따른 목적, 기능이 다르고 하는 역할이 매우 다양하다.
컴퓨터에 대한 사용자의 관점은 사용되는 인터페이스에 따라 달라진다.
ex) 랩톱, 데스크톱
이러한 시스템들은 한 사용자가 자원을 독점하도록 설계되었고, 목표는 사용자가 수행하는 작업을 최대화 하는 것이다. 이러한 경우에는 운영체제가 사용의 용이성을 위해 설계되고 성능에 약간 신경을 자원의 이용에는 전혀 신경을 쓰지 않는다.
운영체제는 하드웨어와 가장 밀접하게 연관된 프로그램이다.
따라서 운영체제를 자원 할당자로 볼 수 있다.
컴퓨터 시스템은 문제를 해결하기 위해 요구되는 여러 가지 자원들, 즉 CPU 시간, 메모리 공간, 저장장치 공간, 입/출력 장치 등을 가진다.
운영체제는 자원에 대해 서로 상충할 수도 있는 많은 요청이 있으므로, 효율적의고 공정하게 운영할 수 있도록 어느 요청에 자원을 할당할지를 결정해야한다.
다소 다른 관점은 입/출력 장치와 사용자 프로그램ㅇ르 제어할 필요성을 강조한다.
즉 제어 프로그램으로써의 역할을 가지는 것이다.
제어 프로그램은 컴퓨터의 부적절한 사용을 방지하기 위해 사용자 프로그램의 수행을 제어한다.
운영체제는 자원 할당자, 제어 프로그램의 역할들을 맡는다.
이렇게 운영체제는 관점마다 고려할 점과, 역할, 목적이 다르게 작동하기 때문에
적합한 정의는 없다. 다만 유용한 컴퓨팅 시스템을 만드는 문제를 해결하기 위한 합리적인 방법을 제공하기 때문에 존재하며 매우 중요한 시스템이라는 것이다.