운영체제는 개발자가 공부해야 하는 필수과목 중 하나다.
이 과목을 공부하기에 앞서 운영체제가 무엇인지,
운영체제에서 무엇을 알아야 하는지에 대한 대략적인 가이드를 작성했다.
사용자는 더블클릭으로 프로그램을 실행한다.
실행중인 프로그램을 닫기 버튼으로 종료한다.
여러개의 프로그램을 동시에 사용한다.
개발자는 프로그램을 만든다.
이때 사용자의 RAM이 몇GB인지,
이 사용자가 동시에 어떤 프로그램들을 실행하는지 고려하지 않는다.
이는 운영체제가 컴퓨터의 자원을 효율적으로 관리하여
각각의 프로세스들을 격리(isolation)시켜주기 때문이다.
프로세스 격리(Process Isolation)란?
각 프로세스가 컴퓨터의 모든 자원을 사용하고 있는 것처럼
착각을 주는 구현방식이다.
이를 통해 개발자는 하드웨어에 대해 크게 신경쓰지 않고 개발을 할 수 있고,
사용자는 싱글코어에서 여러 프로그램을 돌릴 수 있다.(성능저하는 발생할 수 있다.)
운영체제란 컴퓨터의 하드웨어와 사용자의 소프트웨어 사이에서 위와같은 일을 하는 소프트웨어이다.
아래 그림은 우리가 사용하는 컴퓨터를 간단하게 나타낸 그림이다.

운영체제는 위의 자원을 효율적으로 관리하여 각각의 프로세스들을 격리(isolation)시키기 위해
다음의 작업들을 해야한다.
참고자료
http://www.kocw.net/home/cview.do?cid=3646706b4347ef09
아이콘 출처
Cpu 타워 아이콘 제작자: Good Ware - Flaticon
Ram icons created by Freepik - Flaticon
Hdd icons created by Hilmy Abiyyu A. - Flaticon
Keyboard icons created by Freepik - Flaticon
Mouse icons created by Smashicons - Flaticon