Certificate/정보처리기사

정보처리기사[4과목] | 기억장치

구름솜:D 2023. 12. 20. 17:50
728x90

기억장치(Memory)

- 중앙처리장치(CPU) 작업을 수행하기 위해 프로그램이나 데이터등을 일시적 또는 영구적으로 저장하는 모든 장치

 

기억장치 종류

1) 주기억장치(Main Memory)

- CPU가 직접 접근하여 처리하는 기억장치

- 현재 수행중인 프로그램 및 데이터 저장

- 반도체 메모리(RAM,ROM)

RAM : 랜덤엑세스메모리(Random Access Memory)

 : 읽기, 쓰기 가능

 : 속도가 빠름

 : 휘발성 메모리

ROM : 읽기전용메모리(Read Only Memory)

 : 읽기만 가능

 : 비교적 느림

 : 비휘발성 메모리

2) 캐시메모리(Cache Memory)

- 주기억장치와  CPU의 속도치를 줄여 효율을 높임

3) 연관메모리(Associative Memory)

- 저장된 내용을 이용해 접근하는 기억장치

- CAM(Content Address Memory)

4) 보조메모리(Secondary Memory)

- 주기억장치의 부족한 용량 해결

- 외부에 설치된 대용랑 기억장치(하드디스크)

- 전원이 차단되어도 그대로 유지

하드디스크) 대용량의 데이터를 저장하고 있다가 주기억장치로 데이터를 전송

CPU레지스터) 주기억장치 또는 캐시기억장치로부터 데이터를 읽어 들임

5) 가상메모리(Virtual Memory)

- 주기억장치의 부족한 용량을 해결하기 위해 보조기억장치를 주기억장치처럼 사용하는 것

- 주기억장치의 이용률과 다중프로그래밍정도를 높일 수 있음 

 

 

기억장치 관리 전략

1) 반입전략(Fetch)

- 프로그램/데이터를 주기억장치로 가져오는 시기를 결정하는 전략

- 요구반입, 예상반입

2) 배치전략(Placement)

- 최초적합(First Fit) : 첫번째 공간에 배치

- 최적적합(Best Fit) : 단편화가 적게 발생하는 공간에 배치

- 최악적합(Worst Fit) : 단편화가 많이 발생하는 공간에 배치

* 단편화(Fragmentation)

- 주기억장치상에서 빈번하게 기억장소를 할당/반납하여 기억장치들이 조각으로 나눠지는 현상

- 내부단편화 : 분할된 영역 > 할당 작업(분할된 영역의 남은 빈 조각공간 발생)

- 외부단편화 : 분할된 영역 < 할당 작업(할당 자체가 되지 못하고 남은 공간 발생)

- 단편화 해결방법 : 분할된 주기억장치 공간을 하나로 모아 사용가능한 공간으로 만듦

  1. 통합(Coalescing) : 인접한 공간을 모아 사용 가능한 공간으로 만듦

  2. 압축(Compaction) : 서로 떨어진 공간을 모아 만듦

3) 교체전략(Replacement)

- 주기억장치내에 빈 공간확보를 위해 제거할 프로그램/데이터를 선택하는 전략

- 기억장치의 페이징 시스템에서 사용

 

 

가상메모리 구현 기법

- 가상기억장치의 주소를 주기억장치의 주소로 변환하는 Mapping(=주소변환) 기법

*Mapping(맵핑, 사상)

- 맵핑작업은 논리적 주소와 물리적 주소를 연결하는 과정

- 논리적 주소와 물리적 주소의 맵핑정보는 맵핑테이블에 저장하여 관리

가상메모리) 주기억장치의 부족한 용량을 해결하기 위해 보조기억장치를 주기억장치처럼 사용하는 것

1) 페이징기법

- 가상기억장치의 프로그램을 주기억장치의 영역의 크기와 동일하게 나눠서 그 영역에 나눠진 프로그램(페이지)를 적재

- 주소 맵핑을 위해 페이지 맵 테이블 필요

- 외부단편화 x, 내부단편화 o

- 페이지의 크기가 클수록(작을수록)

  맵 테이블의 크기는 작아진다(커진다)

  단편화 커진다(작아진다)

  디스크 접근 횟수 작아진다(많아진다)

  전체 입출력 시간 작아진다(커진다)

2) 세그먼테이션기법

- 가상기억장치에 보관된 프로그램을 다양한 크기의 논리적 단위인(세그먼트)로 나눈 후 주 기억장치에 적재

- 주소 맵핑을 위해 세그먼트 맵 테이블 필요

- 외부단편화 발생 가능

 

 

페이지 교체 알고리즘

: 페이지 부재(Page Fault, 프로세스 실행 시 참조할 페이지가 주기억장치에 없는 것) 발생 시, 가상 기억장치의 페이지를 주기억장치에 적재해야하는데, 주기억장치의 모든 페이지 프레임이 사용중일 때 어떤 페이지 프레임을 교체할 지 결정하는 기법

1) OPT(Optimal Page replacemenT)

- 가장 오랫동안 사용되지 않은 페이지를 교체

- 실현 가능성 적음

2) FIFO

- 가장 먼저 적재, 가장 먼저 아웃

- 벨레이디의 모순 발생

3) LRU(Least Recently Used)

- 가장 오랫동안 사용안한 페이지 교체 (최근 최소 사용)

4) LFU(Least Frequently Used)

- 참조된 횟수가 가장 적은 페이지 교체(잦은 최소 사용)

5) NUR(Not Used Recently)

- 최근 사용 안 한 페이지 먼저 교체

- 두 개의 하드웨어 비트 필요(참조비트, 변형비트)

6) SCR(Second Change Replacement)

- 프레임은 FIFO를 유지

- 참조비트필요

 

 

가상기억장치 관련 용어

1) 구역성(Locality, 지역성)

- 프로세스가 실행되는 동안 일부페이지만 집중적으로 참조되는 경향, 워킹셋이론 기반

- 시간구역성(Temporal Locality) : 최근 참조된 프로세스 다시 참조

- 공간구역성(Spatial Locality) : 하나의 기억장소를 계속 참조

2) 워킹셋(Working Set)

- 프로세스가 일정시간동안 자주 참조하는 페이지들의 집합

3) 스레싱(Thrashing)

- 페이지 부재가 계속 발생되어 프로세스가 수행되는 시간보다 페이지 교체에 소비되는 시간이 더 많이 드는 현상

- 스레싱 방지 기법

 1. CPU이용률을 증가시킴

 2. 페이지 부재율 조절

 3. 워킹 셋 방법 활용