본문 바로가기

Programming/Lecture Note

Operating System - Chapter 1(1) - 기본 구성요소

 1장의 학습 목표는 다음과 같다.


-컴퓨터 시스템의 기본 요소와 그들간의 관계를 설명할 수 있다.

-명령어를 수행하기 위해 처리기(프로세서)에 의해 처리되는 단계를 설명할 수 있다.

-인터럽트의 개념을 이해하고 어떻게 그리고 왜 처리기가 인터럽트를 사용하는지 설명할 수 있다.

-전형적인 컴퓨터 메모리 계층 구조를 나열하고 설명할 수 있다.


운영체제는 하나 이상의 처리기로 구성된 하드웨어 자원을 활용하여 시스템 사용자에게 다양한 서비스를 제공한다. 또한 운영체제는 사용자 관점에서 보조기억장치와 입출력 장치를 관리한다. 따라서 운영체제를 살펴보기 전에 그 기반이 되는 컴퓨터 시스템 하드웨어를 어느정도 이해하는 것이 중요하다.

  본 장에서는 컴퓨터 시스템 하드웨어의 개요를 설명한다. 대부분 분야에 대해 독자가 이러한 주제에 친숙하다고 가정하고 그 개요를 간단하게 다룰 것이다. 그러나 몇몇 분야는 보다 상세하게 다루고 있는데, 이는 이후에 다루어질 주제에 미치는 중요성 때문이다.







1.1 기본 구성요소



상위 수준에서 볼 때 컴퓨터는 처리기, 메모리, 입출력 요소들로 구성되고, 타입별로 하나 이상의 모듈들이 존재한다. 이러한 구성 요소들은 컴퓨터의 주요 기능인 프로그램 수행을 위해 나름대로 연결되어 있다. 컴퓨터는 다음의 4가지 기본 구성요소로 이루어진다.


- 처리기(프로세서, processor) : 컴퓨터의 동작을 제어하고 데이터를 처리한다. 처리기가 하나만 있는 경우에는 일반적으로 중앙처리장치(CPU)라고 부른다.


- 주기억장치(main memory) : 데이터와 프로그램을 저장한다. 전형적으로 휘발성(volatile)이기 때문에, 컴퓨터가 셧다운(shut down)될 경우 메모리의 내용이 없어지게 된다. 대조적으로, 디스크 메모리의 내용은 컴퓨터가 셧다운되더라도 유지된다. 주기억장치는 실기억장치(real memory) 혹은 주메모리(primary memory)라고도 불린다.


- 입출력 모듈(I/O module) : 컴퓨터와 외부 환경간의 데이터 이동을 담당한다. 외부 환경은 보조기억장치, 통신장비, 그리고 단말기를 포함한 다양한 외부 장치로 구성된다.


- 시스템 버스(System bus) : 처리기, 주기억장치, 그리고 입출력 모듈 간의 통신을 제공한다.


- 통신장치 : 모뎀, 이더넷


PC = 프로그램 카운터             

IR = 명령어 레지스터              

MAR = 메모리 주소 레지스터   

MBR = 메모리 버퍼 레지스터   

I/O AR = 입출력 주소 레지스터

I/O BR = 입출력 버퍼 레지스터


그림 1.1은 이와 같은 상위 수준의 구성요소를 보여준다. 처리기의 기능 중 하나는 메모리와 데이터를 교환하는 것이다. 이를 위해, 일반적으로 다음에 읽거나 기록할 메모리 내 주소를 명시하는 메모리 주소 레지스터(MAR : Memory Address Register)와, 메모리에 기록되거나 메모리로부터 읽힐 데이터를 저장하는 메모리 버퍼 레지스터(MBR : Memory Buffer Register) 라는 두 개의 내부(처리기에 대해) 레지스터가 이용된다. 이와 유사하게 입출력 버퍼 레지스터(IOBR : I/O Buffer Register)는 입출력 모듈과 처리기 간의 데이터 교환을 위해 사용된다.

  메모리 모듈은 일련 번호로 주소가 부여된 장소들의 집합이다. 각 장소에는 이진수가 저장되어 있는데 이러한 이진수는 명령어 또는 데이터로 해석될 수 있다. 입출력 모듈은 외부 장치로부터 처리기와 메모리로 데이터를 전송하거나, 그 역방향으로 데이터를 전송한다. 이 모듈은 데이터가 전달될 때까지 일식적으로 데이터를 보관하기 위한 내부 버퍼를 가지고 있다.