Virtual memory

Download Report

Transcript Virtual memory

Virtual Memory
Locality

각 프로세스들은 각각 그들의 페이지 중 소수
의 몇몇 페이지를 특히 많이 사용하는 경향이
있다.


Temporal Locality : 최근 참조된 기억장소가 가까
운 미래에도 계속 참조될 확률이 높다.
Spatial Locality : 하나의 기억 장소가 참조되면,
그 근처의 장소가 계속 참조되는 경향이 있다
가상 메모리
Real Memory
가상 메모리 페이징 기법

Page Mapping Table :
존재비트 보조기억장치주소

Page Frame 번호
Page Fault : Reference 할 Page가
Main Memory에 없는 경우
가상 메모리 페이징 기법(2)

Mapping 방법 1 : Direct Mapping

Mapping Table 이용
가상 메모리 페이징 기법 (3)

Mapping 방법 2 : Associative Mapping
(TLB)
가상 메모리 페이징 기법 (4)

Mapping 방법 3 : Associative/Direct
Mapping

Associative Memory와 Page Table을 혼용

먼저, Associative Memory를 조사, 없으면,
Page Table을 검사
가상 메모리
세그멘테이션 기법

Segmentation 기법 :

논리적으로 관련된 내용의 block을 이용.

예 : 하나의 subroutine을 하나의 block으로

각 block이 크기는 서로 다르다.

장점 : Page Fault가 적게 일어난다.
가상 메모리
세그멘테이션 기법 (2)

Segment Table Entry :
존재비트

S
Segment Length

S : 보조기억장치 내의 주소

S’ : 주기억장치 내의 주소

RWEA : Access Control
RWEA
S’
동적 주소 변환 : Direct Mapping, Associative
Mapping, Associative/Direct Mapping
페이징과 세그멘테이션의
결합


가상 주소 : (s, p, d)

s : segment 번호

p : page 번호

d : 변위
동적 주소 변환
메모리 관리 정책

반입 정책




demand paging
pre-paging
배치 정책
교체 정책
페이지 교체 기법

원칙 : 교체된 페이지가 그 이후로 오랫
동안 사용되지 않는 페이지 이어야 한다.
(최적 정책 : optimal policy)
페이지 교체 기법 (2)

LRU(Least Recently Used) 교체 기법 :

각 페이지 마다 마지막으로 호출된 시간을
기록

가장 오래 전에 사용된 페이지 교체

문제점 : Looping의 경우 가장 오래 전에
사용된 페이지가 곧 호출될 페이지 이다.
페이지 교체 기법 (3)

FIFO 교체 기법 :

각 Page 마다 적재된 시간을 기록

가장 오래 전에 적재된 페이지를 교체

문제점 : 오래된 페이지 ---> 앞으로도 계
속 사용될 확률이 높다.
페이지 교체 기법 (4)

시계 (clock policy) 교체 기법 :



각 page 적재 시 사용 비트를 1로 설정
Page 교체 시 사용 비트가 0인 page를 교
체
Page 교체 시 page 순서대로 사용 비트 1
을 0으로 재설정
페이지 교체 기법 (5)

예제 : Page 416


페이지 참조 : 2 3 2 1 5 2 4 5 3 2 5 2
페이지 프레임 수 : 3
페이지 교체 기법 (6)

시계 교체 기법 II :


사용 비트 u 와 수정 비트 m 사용
우선 순위:




u=0,
u=1,
u=0,
u=1,
m=0
m=0
m=1
m=1
페이지 교체 기법 (7)

Working set을 이용한 page 교체

Working Set : 하나의 프로세스가 현재 자주
참조하는 페이지들의 집합

Working Set Theory : 프로그램의 효율적인
실행을 위해서는 Working Set이 주기억 장치
에 존재하여야 한다.