정보화사회의 정보보호
운영체제 이해 및 관리
CPU(Central Processing Unit, 중앙처리장치)의 구조적 이해
CPU의 구조 이해
CPU 개념
- 입력장치로부터 자료를 받아 연산하고 그 결과를 출력장치로 보내는 일련의 과정을 제어 · 조정하는 핵심장치
- 사람의 두뇌에 해당
CPU의 구성요소
구성요소 | 상세 기능 |
---|---|
ALU (연산장치) | 각종 산술연산과 논리연산들을 수행하는 회로 |
Register (레지스터) | CPU 내부의 소규모 데이터나 중간 결과를 임시 기억해 두는 고속의 기억장치 |
Control Unit (제어장치) | 프로그램의 코드를 해석하고 실행하기 위한 제어 신호들을 발생시킴 |
내부 CPU 버스 | ALU와 레지스터 간의 데이터 이동을 위한 경로 |
레지스터(Register) 종류
종류 | 주요 기능 |
---|---|
PC (Program Counter) | 다음에 수행할 명령어가 저장된 주기억장치 번지를 지정 |
MAR (Memory Address Register) | 주기억장치에 접근하기 위한 주기억장치의 번지를 기억 |
MBR (Memory Buffer Register) | 주기억장치에 입·출력할 자료를 기억하는 레지스터 |
IR (Instruction Register) | 주기억장치에서 인출한 명령코드를 기억하는 레지스터 |
버스 시스템 (Bus System)
버스(Bus)의 정의
- 버스(Bus)는 시스템에 많은 장치를 공유하며 데이터, 주소, 제어 정보를 전달하는 전송 라인
- 한정된 자원이므로 버스를 획득하기 위한 경합이 많이 발생하는 장치
- 사용하는 방식에 따라 입출력 성능에 영향을 줌
버스(Bus) 종류
종류 | 내용 |
---|---|
데이터 버스 | 시스템 컴포넌트 간 처리 데이터를 전송하는 라인 |
주소 버스 | 기억장소의 위치 혹은 장치 식별을 저장하기 위한 라인 |
제어 버스 | CPU와 기억장치 또는 I/O 장치 사이의 제어 신호를 전송하는 라인 |
CPU의 명령 실행 주기(Instruction Cycle)
- 하나의 명령어 실행이 끝난 후, 다음 명령어의 수행이 시작되어 끝나는 시간
- 패치(fetch), 간접(indirect), 실행(execution), 인터럽트(interrupt)로 구성
- 실행 주기는 2단계, 4단계, 5단계 사이클로 구분된다.
단계 | 동작 설명 |
---|---|
인출 (Instruction Fetch) | 인출단계는 메모리에서 데이터를 로드하여 CPU에 있는 레지스터에 적재하는 과정 |
간접 (Indirect) | 메모리를 참조할 때 간접주소 방식을 사용하는 경우에 실행 간접주소란 CPU가 메모리를 참조했을 때 데이터가 존재하는 것이 아니라 메모리에 주소가 존재하여 메모리 내에서 한번 더 조회해서 데이터를 얻는 것 |
실행 (Execution) | 명령과 데이터로 CPU가 산술 및 논리연산을 수행하는 것 |
인터럽트 (Interrupt) | 컴퓨터 작동 중 예기치 않은 문제가 발생한 경우라도 업무 처리가 계속될 수 있도록 하는 컴퓨터 운영체제의 한 기능으로, 크게 하드웨어 인터럽트와 소프트웨어 인터럽트로 나눔 |
메모리 시스템 (Memory System)
기억장치 계층구조 (Memory Hierachy)
- 크기, 속도, 가격당 성능에 따라 분류된 기억장치를 계층적으로 구성함으로써 평균 기억장치 액세스 속도는 높이고 가격 대비 성능비도 적절히 유지하기 위한 설계 아키텍처
메모리 계층구조의 이유
- 액세스 속도가 높아질수록 비트당 가격도 높아진다.
- 용량이 커질수록 비트당 가격은 낮아진다.
- 용량이 커질수록 액세스 속도는 낮아진다.
캐시 메모리 (Cache Memory)
- CPU와 주기억장치(Memory)의 속도 차이를 극복하기 위해서 CPU와 주기억장치 사이에 존재하는 고속의 버퍼 메모리
캐시 메모리(Cache Memory) 정의
- 중앙처리장치가 읽어 들인 데이터들로 채워지는 버퍼 형태의 고속 기억장치이다.
캐시 메모리 사상(Mapping) 방식
- 직접사상 (Direct mapping)
- Main Memory를 여러 구역으로 분할하여 Cache 슬롯과 매핑
- 장점
- 매핑 절차가 단순하고 신속하게 처리
- 단점
- 높은 캐시 미스율
- 연관사상(Associate Mapping)
- Main Memory의 각 블록이 Cache의 어느 슬롯이든 적재 가능
- 장점
- 지역성 높은 접근 시 캐시 적중률 높음
- 단점
- 구현 하드웨어가 복잡하여 구현 비용 상승
- 집합 연관사상(Set Associate Mapping)
- 직접사상 / 연관사상 절출 방식으로 캐시와 메모리가 M 대 1로 대응한다.
- 장점
- 직접사상과 연관사상의 장점 수용
- 단점
- 캐시 Fin/Fout 발생 증가, 구현 비용이 많이 듦
캐시 메모리 관리 방식
캐시 메모리 교체 알고리즘
종류 | 세부내용 | 특징 |
---|---|---|
Random | 교체될 Page를 임의 선정 | Overhaed가 적음 |
FIFO | 가장 오래 있었던 Page 교체 | 자주 사용되는 Page 교체 우려 |
LFU | 사용 횟수가 가장 적은 Page 교체 | 최근 적재된 Page가 교체될 우려 |
LRU | 가장 오랫동안 사용되지 않은 Page 교체 | Time stamping에 의한 overhead 존재 |
Optimal | 향후 가장 참조되지 않을 Page 교체 | 실현 불가 |
NUR | 참조 비트와 수정 비트로 미사용 Page 교체 | 최근 사용되지 않은 페이지 교체 |
SCR | 최초 참조 비트 1로 셋, 1인 경우 0 셋, 0인 경우 교체 | 기회를 한 번 더 줌 |
페이지 교체 관리 시 문제점
문제점 | 세부 내용 |
---|---|
Page Fault 발생 | 기억장치에 적재되지 않은 Page를 사용하려 할 때 Page Fault 발생 |
Demand Paging | 요구될 때에만 Process가 Page를 적재하는 방식 |
Thrashing 발생 | Page 부재가 너무 빈번하게 발생하여 CPU가 Process 수행보다 Page 교체에 더 많은 시간을 소요하는 비정상적인 현상 |
페이지 교체 관리 문제 해결 방안
종류 | 세부 내용 |
---|---|
Load Control | 일정 시간 동안 새로운 프로세서가 생성되는 것을 지연시키고 Suspend Queue에 대기시켜서 Thrashing 현상을 감소시킴 |
Locality | 시간과 공간 지역성을 집중적으로 참조함 |
Working Set | 일정 시간 동안 참조되는 페이지 집합을 주기억장치에 유지 |
PFF | Process의 Page Fault 빈도에 따라 Residence set을 조정 |