2018년 11월 26일
가상 메모리 (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 축소 |