운영체제(OS: Operating System)는 컴퓨터의 시스템 자원(System Resource) 관리자 역할을 담당한다.
즉, 운영체제는 하드웨어를 관리하고 하드웨어가 올바르게 작동하도록 보조해준다.
시스템 자원은 컴퓨터 하드웨어를 말하고 세부 내용은 다음과 같다.
컴퓨터 하드웨어는 스스로 동작할 수 없다.
- CPU: 각 프로그램이 얼마나 CPU를 사용할지 결정할 수 없음
- Memory: 각 프로그램이 어느 주소에 저장되어야 하는지 메모리 공간을 얼마나 확보해야하는지 결정 할 수 없음
- 저장기기: 어떻게/어디에 저장할지 결정 할 수 없음
- 키보드/마우스: 글자를 작성하는것과 커서를 움직이는것을 스스로 표시할 수 없음
이를 운영체제가 가능하도록 한다.
사용자가 컴퓨터에게 명령을 내리기 위해서는 이를 컴퓨터의 언어로 바꾸는 작업이 필요한데, 이를 운영체제가 담당한다.
우리가 마우스를 움직여서 어떤 프로그램을 실행하면, 운영체제는 이를 컴퓨터 언어로 변환해 컴퓨터의 하드웨어들에 전달해 해당 명령이 실행되도록 한다.
운영체제는 하드웨어를 관리할 뿐만 아니라 운영체제 안에서 실행되는 프로그램들 역시 관리하고 제어한다.
예를 들면, 카카오톡, 곰플레이어, 게임 등의 응용 프로그램을 실행하면 운영체제는 프로그램들의 실행에 필요한 메모리 공간을 계산해 하드웨어에 전달하고 프로그램들이 실행될 수 있도록 메모리 공간을 할당해준다.
응용프로그램이란 앞서 살펴본 바와 같이 일반적으로 프로그램을
운영체제의 목표: 사용자가 사용하는 응용 프로그램이 효율적으로, 적절하게 작동하도록 지원
운영체제는 응용 프로그램이 요청하는 시스템 리소스를 효율적으로 분배하고 지원하는 소프트웨어
다음과 비슷한 화면을 마주할 것이다.
우리가 가장 쉽게 접할 수 있는 OS는 윈도우와 맥이 대표적이지만 이 외에도 UNIX라는 운영체제도 존재한다.
운영체제는 많은 기술이 접목되어 있어 버그가 많이 발생하기 때문에 온전한 OS를 만들어 내는 과정은 쉽지 않다.