CS/운영체제

[OS] 1. 컴퓨터 시스템의 개요

리져니 2021. 6. 29. 19:38

운영체제 (Operating System, OS)

하드웨어를 효율적으로 관리하여 사용자 또는 응용프로그램에 서비스를 제공하는 역할

 

운영체제는 하나 이상의 처리기로 구성된 하드웨어 자원을 활용하여 시스템 사용자에게 다양한 서비스를 제공한다.

또한 운영체제는 사용자 관점에서 보조 기억장치와 입출력 장치를 관리한다.

따라서 운영체제를 살펴보기 전에 그 기반이 되는 컴퓨터 시스템 하드웨어를 어느 정도 이해하는 것이 중요하다.

 

컴퓨터의 4가지 기본 구성 요소: 최상위 수준의 관점에서

컴퓨터의 구성 요소

1. 처리기(Processor): 

실제 프로그램이 메모리에 올라와서 CPU의 제어를 하고 있는 상태

컴퓨터의 동작을 제어하고 데이터를 처리 (처리기가 하나만 있는 경우. 중앙처리장치(CPU)라고 부름)

2. 메모리(Memory): 대체로 주기억 장치를 말하며 특히 을 가리킴

- 주기억장치(Main memory): 데이터와 프로그램을 저장. 전형적으로 휘발성이기 때문에, 컴퓨터가 셧다운될 경우 메모리의 내용이 없어지게 된다

- 보조 기억장치(computer data storage): 주기억 장치를 확장한 것으로, 속도가 느리지만 보통 용량이 상대적으로 크고,셧다운이 되더라도 유지됨

3. 입출력 모듈(I/O module)

컴퓨터와 외부 환경 간의 데이터 이동을 담당

4. 시스템 버스(System bus)

처리기, 주기억장치, 입출력 모듈 간의 통신 제공

 

레지스터(Register)

처리기(Processor) 내부에 있는 메모리, 처리기(Processor)가 사용할 데이터를 저장하며 컴퓨터에서 가장 빠른 메모리

- 레지스터의 종류

용도 사용자 정보 변경 가능 여부 저장하는 정보의 종류
전용 레지스터 사용자 가시 레지스터 데이터 레지스터
범용 레지스터 사용자 불가시 레지스터 주소 레지스터
    상태 레지스터

 

사용자 가시 레지스터
사용자 불가시 레지스터

 

 

명령어 수행

- 프로그램은 처리기(Processor)에 의해 수행되며, 메모리에 저장된 명령어들의 집합으로 구성된다.

- 처리기(Processor)의 동작: 명령어를 처리하여 해당 명령어에 맞게 레지스터 및 메모리의 상태를 변화 시키는 것

- 처리기(Processor)는 메모리로부터 한번에 하나의 명령어를 읽고 명령어를 수행하는데, 이 수행은 명령어 반입과 명령어 실행의 반복으로 이루어진다

 

명령어 처리 단계

기본적인 명령어 사이클

각 명령어 사이클이 시작될 때 처리기(Processor)는 메모리(PC: Program Counter 또는 IP: Instruxtion Pointer Register)로부터 명령어를 가져온다

- 일반 적으로 프로그램 카운터(PC)는 다음에 가져올 명령어의 주소를 가지고 있다, 별도의 명령이 없는 한, 처리기는 각 명령어를 반입한 후 항상 PC를 증가시켜 순서대로 다음 명령어가 반입되게 한다

반입된 명령어는 처리기(Processor) 내의 명령어 레지스터(IR: Instruction Register)로 적재된다.

처리기(Processor)는 명령어를 해석하고 요구된 작업을 수행한다.

 

** 운영체제는 프로세서에게 처리할 작업을 할당 및 관리함

 

 

인터럽트(Interrupt)

CPU가 프로그램을 실행 하고 있을때, 입출력 장치나 예외 상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 그 상황을 처리 할 수 있도록 하는것

- 인터럽트는 기본적으로 처리기(Processor)의 처리율을 향상시키기 위해 제공됨

- 가상적으로 모든 컴퓨터는 처리기(Processor)의 일반적인 처리에 다른 모듈들(입출력, 메모리)이 인터럽트를 걸도록 허용하고 있다

- 인터럽트를 이용할 경우, 연산이 진행되는 동안 처리기(Processor)는 다른 명령어를 수행시킬수 있다

인터럽트 처리

 

VS 폴링(Polling)

하나의 장치(또는 프로그램)가 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식

- 대상을 주기적으로 확인하여 상황이 발생하면 해당 처리 루틴을 실행

- 폴링이 수행되는 동안은 다른 장치의 관리가 힘듬으로 CPU 자원 낭비가 된다

polling 기법

메모리 계층 구조

메모리 관련 세가지 주요 특성인 용량, 접근속도, 비용 간에는 상호 절충 관계가 있다

- 접근 시간이 짧을수록 비트당 비용이 높아집

- 용량이 클수록 비트당 비용이 낮아짐

- 용량이 클수록 접근 시간이 길어짐

메모리 계층구조 도식도

레지스터 ~ 메인 메모리: 프로세서가 프로그램과 데이터에 직접 접근할 수 있다

하드 디스크(보조기억장치): 프로그램과 데이터를 메인 메모리에 옮겨야 실행할 수 있다

 

계층 구조 아래쪽으로 내려감에 따라 다음이 성립함

- 비트당 비용 감소

- 용량 증가

- 접근 시간 증가

- 처리기에 의한 메모리 접근 횟수 감소

 

주기억장치(Main memory)

프로세서가 수행할 프로그램과 데이터를 저장, DRAM(용량이 크고 가력이 저렴)을 주로 사용

디스크 입출력 병목현상 해소 ( Disk에 비해 속도가 훨씬 빠른 CPU 와의 갭을 보완 하기 위해 CPU와 Disk 사이에서 CPU가 일을 하는 동안 주기억장치에 미리 가져다 놓음으로써 갭을 줄여줌)

주기억장치

캐시 메모리(Cache memory)

프로세서 내부에 있는 메모리(L1, L2 캐시 등)으로 속도가 빠르고 가격이 비쌈

주기억 장치(Main memory)의 입출력 병목현상 해소 (Main memory와 CPU 사이의 갭을 보완)

캐시의 동작

- 캐시 히트(Cache hit): 필요한 데이터 블록이 캐시에 존재

- 캐시 미스(Cache miss): 필요한 데이터 블록이 캐시에 없는 경우

 

보조기억 장치(Auxiliary memory/Secondary memory/Storage)

프로그램과 데이터를 저장

프로세서가 직접 접근할 수 없고 주기억장치를 거쳐서 접근

용량이 크고 가격이 저렴

 

** 운영체제가 메모리를 할당하고 관리함

 

 

 

 

728x90

'CS > 운영체제' 카테고리의 다른 글

프로세스(Process)  (0) 2021.07.27