brunch

You can make anything
by writing

C.S.Lewis

by 이종복 Jul 02. 2019

운영체제 서론(1) - 컴퓨터 시스템 개요

이번 글에서는 운영체제 서론에 대해서 다룰 것입니다. 

특히, 운영체제 서론 중에서도 컴퓨터 시스템에 초점을 맞춰서 설명하겠습니다. 


 운영체제는 컴퓨터 하드웨어와 응용 프로그램을 중재하는 프로그램입니다. 즉, 운영체제는 컴퓨터 하드웨어가 갖고 있는 자원을 응용 프로그램에게 적절하게 배분하는 자원 배분자(resource allocator)이자 제어 프로그램(control program)입니다. 

 이 때, 운영체제와 같은 자원 배분자의 역할이 필요한 이유가 무엇일지 질문해볼 수 있습니다. 그것은 바로 응용 프로그램이 실행되기 위해서는 하드웨어의 자원에 대한 관리가 필요하기 때문입니다. 이 때, 하드웨어의 자원은 한정된 자원입니다. 그리고 하드웨어의 한정된 자원을 언제 어떻게 활용할지는 곧 응용 프로그램의 실행에 영향을 미칩니다. 따라서 이런 역할을 효율적으로 해내기 위해서 운영체제가 필요합니다. 

  하드웨어의 자원에 속하는 것은 CPU 시간, 메모리 공간, 파일 저장 공간, 입출력 장치 등이 있습니다. 이 중에서 우선 저장 장치 구조(Storage Structure)에 속하는 메모리를 살펴보겠습니다.

  메모리는 컴퓨터의 CPU(Central Processing Unit)가 접근하여 읽고 쓰기가 가능한 기억 장치입니다. 어떤 프로그램이 실행되기 위해서는 그 프로그램은 반드시 주 메모리(RAM)에 있어야 합니다. 왜냐하면 CPU는 대부분 주 메모리(RAM)로부터 명령어를 가져오기 때문입니다. 이 때, CPU의 역할은 주 메모리(RAM)로부터 받은 프로그램의 명령어를 해석하여 데이터를 처리하는 것입니다. 

 일반적인 명령-실행 사이클은 다음과 같습니다. 우선, CPU는 주 메모리(RAM)로부터 프로그램의 명령을 인출해 그 명령을 명령 레지스터(instruction register)에 저장합니다. 이어서 명령을 해독하는데, 이 과정에서 주메모리(RAM)로부터 피연산자를 인출하여 내부 레지스터에 저장하도록 유발합니다. 마지막으로 피연산자에 대한 명령을 실행한 결과가 주메모리(RAM)에 다시 저장될 수 있습니다. 

 이 때, CPU가 주메모리(RAM)로부터 프로그램의 명령을 인출하는 것을 적재 명령(load instruction), 반대로 CPU에서 프로그램의 명령을 실행한 결과를 주메모리(RAM)에 저장하는 것을 저장 명령(store instruction)이라고 합니다. 즉, 프로그램의 실행은 적재 명령(RAM -> CPU)  - CPU의 실행 - 저장 명령(CPU -> RAM)을 통해서 이루어집니다.   

 이 때 프로그램과 데이터는 주 메모리(RAM)에 영구히 존재할 수 없습니다. 이는 2가지 이유 때문입니다.

 첫째, 주 메모리(RAM)는 모든 필요한 프로그램과 데이터를 영구히 저장하기에는 너무 작고,

 둘째, 주 메모리(RAM)는 전원이 공급되지 않으면 그 내용을 잃어버리는 휘발성 장치이기 때문입니다. 

 따라서 대부분의 컴퓨터 시스템은 주 메모리(RAM)의 확장으로 보조 저장 장치를 제공합니다. 이 때, 가장 일반적인 보조 저장 장치는 프로그램과 데이터 모두를 저장할 수 있는 자기 디스크입니다. 

 이외에도 보다 큰 관점에서 보면, 캐시 메모리, CD-ROM, 자기 테이프와 같은 저장 장치 구조가 있습니다. 이 저장 장치 구조들은 속도, 가격, 크기, 휘발성 면에서 각각 차이가 존재합니다. 


이 글의 내용은 다음 운영체제 책(https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=46380306)을 참조했습니다. 

매거진의 이전글 의미의 나무 만들기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari