[계산기 구조] 28.가상 메모리(Virtual Memory)

이번에는 정보처리기사 필기 과목인 전자계산기 구조의 가상 메모리를 알아보아요.

가상 메모리
가상 메모리

가상메모리 기법
프로그램의 메모리 주소를 실제 물리 메모리 주소가 아닌 논리 메모리 주소를 부여하는 것을 말합니다.
주기억 장치의 용량이 부족할 때 보조기억 장치를 사용할 수 있게 하는 것이 목적입니다.

MMU(Memory Management Unit)에 의해 프로그램의 논리 메모리 주소를 물리 메모리 주소로 변환합니다.
논리주소를 물리주소로 변환하는 것을 매핑이라고 부릅니다.
논리주소: 페이지번호(p) 와 변위(d)로 구성
물리주소: 페이지 프레임(p’)과 변위(d)로 구성
페이지 맵 테이블: 디스크 페이지 번호와 페이지 프레임 번호, 상태 비트(주기억 장치에 존재 여부)로 구성

가상 메모리는 같은 크기로 나눠 관리하는 페이징(paging) 기법과 가변 크기로 나누는세그먼트(segment) 기법이 있습니다.

페이지 파일
프로그램의 논리 메모리가 보조기억 장치에 매핑하고 있을 때의 메모리를 페이지 파일이라고 부릅니다.

교체전략
자주 사용하지 않는 부분을 보조기억 장치의 페이지 파일로 매핑하는 다양한 정책이 있습니다.
보조기억 장치에 있는 페이지 파일에 접근 시간이 오래 걸립니다. 따라서 사용할 확률이 높은 것을 주기억 장치에 배정하고 낮은 것을 보조기억 장치에 배정하는 것이 유리하며 이렇게 교체하는 것을 스테이징(Staging)이라 부릅니다.
LRU(Least Recently Used) – 최근의 사용 횟수가 가장 적은 메모리를 페이지 파일로 매핑
LFU(Least Frequently Used) – 사용 횟수가 가장 적은 메모리를 페이지 파일로 매핑
NUR(Not Used Recently) – 최근에 사용하지 않은 메모리를 페이지 파일로 매핑
FIFO(First In First Out) – 먼저 적재한 페이지부터 페이지 파일로 매핑
MFU(Most Frequently Used) – 사용 횟수가 가장 많은 메모리를 페이지 파일로 매핑

반입전략
보조기억 장치의 프로그램의 메모리나 데이터를 언제 주기억 장치로 적재할 것인지 결정하는 방법을 반입전략이라 부릅니다.
요구반입(Demand) – 요구할 때 적재
예상반입(Anticipatory) – 참조할 것을 미리 예상하여 적재