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이 주기억 장치
에 존재하여야 한다.