180 likes | 419 Views
Virtual Memory. Locality. 각 프로세스들은 각각 그들의 페이지 중 소수의 몇몇 페이지를 특히 많이 사용하는 경향이 있다 . Temporal Locality : 최근 참조된 기억장소가 가까운 미래에도 계속 참조될 확률이 높다 . Spatial Locality : 하나의 기억 장소가 참조되면 , 그 근처의 장소가 계속 참조되는 경향이 있다. Real Memory. 가상 메모리. 존재비트 보조기억장치주소 Page Frame 번호. 가상 메모리 페이징 기법.
E N D
Locality • 각 프로세스들은 각각 그들의 페이지 중 소수의 몇몇 페이지를 특히 많이 사용하는 경향이 있다. • Temporal Locality : 최근 참조된 기억장소가 가까운 미래에도 계속 참조될 확률이 높다. • Spatial Locality : 하나의 기억 장소가 참조되면, 그 근처의 장소가 계속 참조되는 경향이 있다
Real Memory 가상 메모리
존재비트 보조기억장치주소 Page Frame 번호 가상 메모리 페이징 기법 • Page Mapping Table : • 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 : 보조기억장치 내의 주소 • 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이 주기억 장치에 존재하여야 한다.