Post on 05-Jan-2016
description
Virtual Memory
Locality 각 프로세스들은 각각 그들의 페이지 중 소수의
몇몇 페이지를 특히 많이 사용하는 경향이 있다 . Temporal Locality : 최근 참조된 기억장소가
가까운 미래에도 계속 참조될 확률이 높다 . Spatial Locality : 하나의 기억 장소가 참조되면 ,
그 근처의 장소가 계속 참조되는 경향이 있다
가상 메모리
Real Memory
가상 메모리 페이징 기법 Page Mapping Table :
Page Fault : Reference 할 Page 가 Main Memory 에 없는 경우
존재비트 보조기억장치주소 Page Frame 번호
가상 메모리 페이징 기법 (2) Mapping 방법 1 : Direct Mapping
Mapping Table 이용
가상 메모리 페이징 기법 (3) Mapping 방법 2 : Associative Mapping (TL
B)
가상 메모리 페이징 기법 (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 : 보조기억장치 내의 주소 S’ : 주기억장치 내의 주소 RWEA : Access Control
동적 주소 변환 : Direct Mapping, Associative
Mapping, Associative/Direct Mapping
존재비트 S Segment Length RWEA S’
페이징과 세그멘테이션의 결합 가상 주소 : (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, m=0 u=1, m=0 u=0, m=1 u=1, m=1
페이지 교체 기법 (7) Working set 을 이용한 page 교체
Working Set : 하나의 프로세스가 현재 자주
참조하는 페이지들의 집합
Working Set Theory : 프로그램의 효율적인
실행을 위해서는 Working Set 이 주기억
장치에 존재하여야 한다 .