동캄의 코딩도장

운영체제 [가상메모리 관리 - 가변 메모리 할당 시 교체기법] 본문

CS/운영체제

운영체제 [가상메모리 관리 - 가변 메모리 할당 시 교체기법]

동 캄 2022. 1. 20. 12:07

Variable allocation

 

Working Set (WS) algorithm

 

Working set

- process가 특정 시점에 자주 참조하는 page들의 집합
- 최근 일정시간 동안(delta) 참조된 page들의 집합
- 시간에 따라 변함
- W(t,delta) --> [t-delta,t] 동안 참조된 page들의 집합

 

특징

- locality에 기반을 둠
- working set을 메모리에 항상 유지 --> page fault 감소
- window size는 고정
- 적재 되는 page가 없더라도, 메모리를 반납하는 page가 있을 수 있음
- 새로 적재되는 page가 있더라도, 교체되는 page가 없을 수 있음

 

성능평가

- page fault 수 외 다른 지표도 함께 봐야 함 ex) page frame 유지 cost, page fault 등 


단점

- overhead 발생
- Residence set을 page fault가 없더라도 지속적으로 관리해야 함

 

Page Fault Frquency (PFF) Algorithm

 

Residence set size를 page fault rate에 따라 결정

- Low page fault rate --> 할당된 page frame 수를 감소
- High page fault rate --> 할당된 page frame 수를 증가
- page fault 기준을 설정하고, 실제 fault (IFT, inter fault time)과 비교

 

Residence set 갱신 및 메모리 할당

- page fault가 발생시에만 수행
- low overhead

 

성능평가

- page fault 수 외 다른 지표도 함께 봐야 함

 

특징

- 메모리 상태 변화가 page fault 시 에만 변함 --> low overhead

 

 

Variable MIN algorithm

- varialbe allocation 기반 교체 기법중 optimal algorithm
- 실현 불가능한 기법

- window size 후의 time의 page queue를 고려하여 page 교체

 

성능평가

- page fault 수 외 다른 지표도 함께 봐야 함
- window size(delta) = R/U (R = page fault 발생 시 처리 비용, U = 한번의 참조 시간 동안 page를 메모리에 유지하는 비용)