기억장치(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. 워킹 셋 방법 활용
'Certificate > 정보처리기사' 카테고리의 다른 글
정보처리기사[1과목] | 소프트웨어 개발 방법론 (0) | 2023.12.20 |
---|---|
정보처리기사[5과목] | 프로토콜 (0) | 2023.12.20 |
정보처리기사[5과목] | 네트워크 (0) | 2023.12.20 |
정보처리기사[4과목] | 프로세스 (0) | 2023.12.20 |
정보처리기사[4과목] | 운영체제 (1) | 2023.12.20 |