Virtual Memory

18
Virtual Memory

description

Virtual Memory. Locality. 각 프로세스들은 각각 그들의 페이지 중 소수의 몇몇 페이지를 특히 많이 사용하는 경향이 있다 . Temporal Locality : 최근 참조된 기억장소가 가까운 미래에도 계속 참조될 확률이 높다 . Spatial Locality : 하나의 기억 장소가 참조되면 , 그 근처의 장소가 계속 참조되는 경향이 있다. Real Memory. 가상 메모리. 존재비트 보조기억장치주소 Page Frame 번호. 가상 메모리 페이징 기법. - PowerPoint PPT Presentation

Transcript of Virtual Memory

Page 1: Virtual Memory

Virtual Memory

Page 2: Virtual Memory

Locality 각 프로세스들은 각각 그들의 페이지 중 소수의

몇몇 페이지를 특히 많이 사용하는 경향이 있다 . Temporal Locality : 최근 참조된 기억장소가

가까운 미래에도 계속 참조될 확률이 높다 . Spatial Locality : 하나의 기억 장소가 참조되면 ,

그 근처의 장소가 계속 참조되는 경향이 있다

Page 3: Virtual Memory

가상 메모리

Real Memory

Page 4: Virtual Memory

가상 메모리 페이징 기법 Page Mapping Table :

Page Fault : Reference 할 Page 가 Main Memory 에 없는 경우

존재비트 보조기억장치주소 Page Frame 번호

Page 5: Virtual Memory

가상 메모리 페이징 기법 (2) Mapping 방법 1 : Direct Mapping

Mapping Table 이용

Page 6: Virtual Memory

가상 메모리 페이징 기법 (3) Mapping 방법 2 : Associative Mapping (TL

B)

Page 7: Virtual Memory

가상 메모리 페이징 기법 (4)

Mapping 방법 3 : Associative/Direct

Mapping

Associative Memory 와 Page Table 을 혼용

먼저 , Associative Memory 를 조사 , 없으면 ,

Page Table 을 검사

Page 8: Virtual Memory

가상 메모리 세그멘테이션 기법

Segmentation 기법 :

논리적으로 관련된 내용의 block 을 이용 .

예 : 하나의 subroutine 을 하나의 block 으로

각 block 이 크기는 서로 다르다 .

장점 : Page Fault 가 적게 일어난다 .

Page 9: Virtual Memory

가상 메모리 세그멘테이션 기법 (2)

Segment Table Entry :

S : 보조기억장치 내의 주소 S’ : 주기억장치 내의 주소 RWEA : Access Control

동적 주소 변환 : Direct Mapping, Associative

Mapping, Associative/Direct Mapping

존재비트 S Segment Length RWEA S’

Page 10: Virtual Memory

페이징과 세그멘테이션의 결합 가상 주소 : (s, p, d)

s : segment 번호 p : page 번호 d : 변위

동적 주소 변환

Page 11: Virtual Memory

메모리 관리 정책 반입 정책

demand paging pre-paging

배치 정책 교체 정책

Page 12: Virtual Memory

페이지 교체 기법 원칙 : 교체된 페이지가 그 이후로

오랫동안 사용되지 않는 페이지 이어야 한다 . ( 최적 정책 : optimal policy)

Page 13: Virtual Memory

페이지 교체 기법 (2)

LRU(Least Recently Used) 교체 기법 : 각 페이지 마다 마지막으로 호출된 시간을 기록 가장 오래 전에 사용된 페이지 교체 문제점 : Looping 의 경우 가장 오래 전에

사용된 페이지가 곧 호출될 페이지 이다 .

Page 14: Virtual Memory

페이지 교체 기법 (3)

FIFO 교체 기법 :

각 Page 마다 적재된 시간을 기록 가장 오래 전에 적재된 페이지를 교체 문제점 : 오래된 페이지 ---> 앞으로도 계속

사용될 확률이 높다 .

Page 15: Virtual Memory

페이지 교체 기법 (4) 시계 (clock policy) 교체 기법 :

각 page 적재 시 사용 비트를 1 로 설정 Page 교체 시 사용 비트가 0 인 page 를

교체 Page 교체 시 page 순서대로 사용 비트 1

을 0 으로 재설정

Page 16: Virtual Memory

페이지 교체 기법 (5) 예제 : Page 416

페이지 참조 : 2 3 2 1 5 2 4 5 3 2 5 2 페이지 프레임 수 : 3

Page 17: Virtual Memory

페이지 교체 기법 (6) 시계 교체 기법 II :

사용 비트 u 와 수정 비트 m 사용 우선 순위 :

u=0, m=0 u=1, m=0 u=0, m=1 u=1, m=1

Page 18: Virtual Memory

페이지 교체 기법 (7) Working set 을 이용한 page 교체

Working Set : 하나의 프로세스가 현재 자주

참조하는 페이지들의 집합

Working Set Theory : 프로그램의 효율적인

실행을 위해서는 Working Set 이 주기억

장치에 존재하여야 한다 .