운영체제란 무엇인가?
운영체제는 도대체 무엇이고 어떤 녀석들로 구성되어 있는지 알아보자.
운영체제:컴퓨터의 정부. 하드웨어와 어플리케이션 사이에서 하드웨어 자원을 적절히 분배하고 어플리케이션의 질서를 관장하는 역할을 한다.
- 운영체제는 완벽히 정확한 정의가 없는데, 이는 경계가 불분명하기 때문이다.
- Abraham Silberschatz외 2명의 저자가 작성한 Operating System Concepts (공룡책)에 따르면 커널 + 미드웨어 프로그램 + 시스템 프로그램을 묶어서 운영체제로 정의한다.
- 커널은 OS의 중심이다. 커널은 컴퓨터 시스템의 모든것을 완전히 제어하며 컴퓨터가 돌아가는 한 항상 실행중인 프로그램이다..
- 미들웨어 프로그램은 응용 프로그램 개발자에게 추가 서비스를 제공하는 일련의 소프트웨어 프레임 워크이다. (예. 데이터베이스, 멀티미디어, 그래픽)
- 시스템 프로그램은 운영체제와 관련이 있지만 반드시 커널의 일부일 필요는 없는 프로그램을 일컫는다.
이중 가장 중요한 녀석은 커널이다. 때때로 커널 그 자체가 OS로 정의될 때도 있다.
컴퓨터 시스템 구성요소

- 하드웨어: 기본적인 컴퓨팅 자원을 제공한다 (예: CPU, 메모리 입출력 장치)
- 운영체제: 다양한 응용 프로그램과 사용자들 사이에서 하드웨어 사용을 제어하고 조정한다.
- 응용 프로그램: 시스템 자원을 사용하여 사용자의 컴퓨팅 문제를 해결하는 방법을 정의한다. (예: 워드 프로세서, 웹 브라우저, 컴파일러, 데이터베이스 시스템, 비디오 게임)
- 사용자: 사람, 기계 다른 컴퓨터 등이 될 수 있다.
위 그림에서 볼 수 있듯이, 운영체제는 하드웨어와 어플리케이션 프로그램 사이에서 자원을 배분하고 차례를 조정하는 역할 등을 담당한다.
운영체제의 목적
그렇다면 운영체제의 목적은 과연 무엇이라고 할 수 있을까?
- 운영체제는 환경을 제공한다
- 운영체제가 정부와 같은 역할을 하는 이유이다. OS는 혼자서는 쓸모가 없다.
- 그러나, 운영체제는 사용자가 무언가를 쉽게 해낼 수 있는 환경을 제공한다
- 운영체제는 시스템 리소스를 제어한다.
- 우주에 모든 것이 그러하듯이 컴퓨터가 돌아갈 때도 자원이 필요하다. 운영체제는 그러한 자원을 유저나 프로그램에게 적절히 배분하며 컴퓨터가 효율적으로 동작하게 만든다.