가상 메모리 (Virtual Memory)

I. 가상의 주 기억장치 공간, 가상 메모리의 개념

 

– 보조 기억장치를 주 기억장치처럼 사용할 수 있도록 주소 지정이 가능하게 만든 저장공간

 

II. 가상 메모리의 필요성

가. 시스템 사용 측면의 필요성

필요성설명
물리 메모리
용량의 한계
– 컴퓨터 구조 상 프로그램은 주기억장치에서 실행, 물리 메모리의 한계
메모리 크기이상
프로그램 실행
– 물리 메모리 크기 이상의 프로그램 등장에 따른 실행 방안 필요

나. 시스템 운영 측면의 필요성

필요성설명
물리 메모리
낭비 방지
– 특정 프로그램 초기화 후 미사용 공간
– 프로그램 실행 후 미사용 공간 활용
비용 절감– 주 기억장치 용량 대비 비용이 고가
– RAM 보다 HDD, SSD 가격이 저렴

– 물리 메모리 용량 한계로 인한 가상 메모리 관리 기법으로 주소 사상, 비트 벡터, 호출, 배치 방식 등 존재

 

III. 가상 메모리 관리 기법

가. 하드웨어 측면의 관리 기법

관리 기법설명
주소 사상
장치
– 프로그램이 가상 주소 발생 시 주소 사상 모듈이 사상 함수 적용하여 실 주소로 변환
비트 벡터– 각 블록의 할당 여부를 0, 1로 표현
– 할당 여부 bit로 표현하므로 속도 빠름

나. 운영체제 측면의 관리 기법

관리 기법설명
호출 기법– 보조기억장치로부터 주기억장치로 적재 시기 결정 기법, 요구 호출, 예측 호출 기법
배치 기법– 프로그램 블록 저장 시 기억장치 장소결정
– First Fit, Best Fit, Next Fit, Worst Fit
할당 기법– 페이지: 같은 크기의 고정 분할 기법
– 세그먼트: 필요 크기의 동적 분할 기법
교체 기법 – 주기억장치에 공간이 없을 때 주기억장치에서 교체할 블록 결정 기법

– 가상 메모리 관리 시 페이지 교체에 따른 문제점이 발생하므로 해결방안 필요

 

IV. 가상 메모리 사용 시 문제점 및 해결 방안

가. 가상 메모리의 문제점

문제점설명
페이지 폴트– 기억장치에 적재되지 않은 페이지 사용 시 발생하며, 스와핑에 따른 지연 발생
스래싱 발생– 재사용 가능성이 높은 페이지의 프로그램 실행보다 페이지 교환에 더 많은 시간 소비

나. 가상 메모리 문제 해결 방안

해결방안설명
지역성 활용
(Locality)
– 시간적 지역성 기법 활용(LRU 등)
– 공간적 지역성 기법 활용(Pre-Fetch 등)
Working Set
기법
– 일정 시간 동안 참조되는 페이지 집합(Working Set)을 주기억장치에 유지
PFF(Page Fault Frequency)-page fault 빈도상승 시 Residence Set 확대
-page fault 빈도 하 시 Residence Set 축소

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^