본문 바로가기
OS/os 공부

10-4. VM. Management_Replacement Strategies_variable allocation

by Success T.H.I.E.F 2022. 1. 12.

할당하는 페이지프레임의 수가 유동적인 variable allocation 일때 교체 기법에 대해 알아보자

 

Working Set algorithm

working set

최근 일정시간(Δ) 동안 참조된 page들의 집합을 의미하며 시간에 따라 변한다.

 

최근 참조한 페이지를 보는 방식이므로 Locality에 기반을 두었다고 볼 수 있다. Working set을 메모리에 항상 유지함에 따라 page fault 는 감소하고 시스템 성능향상으로 이어진다.

 

Window size(Δ)는 고정이며 이 값이 성능을 결정짓는 중요한 요소가 된다. 

윈도우 사이즈가 늘어도 locality 때문에 working set size는 둔화된다.

 

성능이 좋다고 말할 수 있을까?
이를 위해서는 page fault 수 외에 다른 지표(페이지 폴드시 드는 비용, 페이지 프레임 유지비용)도 함께 봐야 한다.

 

특성

적재 되는 page가 없어도 메모리를 반납하는 page가 있을 수 있다. (윈도우 사이즈안에 포함되지 않으면 반납)

새로 적재되는 page가 있더라도 교체되는 page가 없을 수 있다.

 

단점

Working set을 관리하는데 overhead가 있고 Page fault가 없어도 이들을 지속적으로 관리해 주어야 하는 단점이있다.

 

Page Fault Frequency (PFF) algorithm

Residence set size를 page fault rate에 따라 결정하는 방법으로

페이지 폴트 레이트가 낮으면(long inter_fault_time) process에게 할당된 page frame 수를 감소시키고

페이지 폴트가 자주일어나면(short inter_fault_time) page frame수를 증가 시켜준다.

 

page fault 발생 시에만 Resident set의 갱신을 수행하므로 Working set 방식 보다 오버헤드가 적다.

 

사용자가 system parameter로  τ 를 정하고

τ < IFT면 IFT동안 참조된 page들만 유지하고 나머지 page들은 메모리에서 내리며

τ ≥ IFT 면 기존 page들을 유지하고 메모리 할당을 증가시켜 현재 참조된 page를 추가 적재한다.

 

PFF algorithm

성능평가시 working set과 마찬가지로 다른 지표(페이지 폴드시 드는 비용, 페이지 프레임 유지비용)도 함께 봐야 한다.

특성

메모리 상태 변화가 page fault 발생 시에만 변하므로 working set대비 적은 overhead를 가진다.

 


Variable Min algorithm

optimal algorithm으로 평균 메모리 할당량과 page fault 발생 횟수 모두 고려 했을때의 최적값을 찾는 방법으로

미리 Page regrence string을 알고있어야 해서 실현불가능 하지만 fixed allcation의 Min algorithm과 마찬가지로 

성능평가의 기준으로 활용 가능하다.

 

알고리즘은 다음과 같이 이루어 진다.

1. page r이 t시간에 참조될시 page r이 (t,t+Δ] 사이에 다시 참조되는지 확인

2. 참조가 된다면 page r을 유지

3. 참조가 안 된다면 page r을 메모리에서 내림

 

Variable Min algorithm 예제

최적의 성능을 위한 Δ값?