핵심 키워드: 운영체제, 문제 해결

지금까지 컴퓨터 구조를 학습했다면 이제부터는 컴퓨터 구조에서 학습한 부품들을 관리하는 특별한 프로그램인 운영체제를 학습할 차례이다.


운영체제는 무엇이고, 개발자는 왜 운영체제를 알아야 할까?

운영체제란

모든 프로그램은 하드웨어를 필요로 한다

예) 1+2를 계산하는 프로그램은 CPU를 필요로 하고, 이미지를 하드 디스크에 저장하는 프로그램은 하드 디스크를 필요로 한다.

시스템 자원 or 자원: 프로그램 실행에 마땅히 필요한 요소들을

CPU, 메모리, 보조기억장치, 입출력장치 등과 같은 컴퓨터 부품들은 모두 자원이라고 볼 수 있다. 즉, 모든 프로그램은 실행되기 위해 반드시 자원이 필요하다.

운영체제: 여기서 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특뵬한 프로그램

운영체제 또한 여느 프로그램과 마찬가지로 메모리에 적재되어야 한다. 다만 운영체제는 매우 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행된다. 커널영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역을 사용자 영역 이라고 한다. 즉, 운영체제는 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들이 올바르게 실행되도록 돕는다.

NOTE

응용 프로그램은 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램을 의미한다.

그런데 누가 이 프로그램들을 메모리에 적재했을까?

워드 프로세서, 인터넷 브라우저, 메모장은 각각 2000번, 1500번, 1000번지에 적재되었는데, 메모리 주소가 겹치지 않도록 적당한 공간에 프로그램들을 적재해 준 건 누구일까?