프로세스에 충분한 프레임이 없는 경우 페이지 폴트가 발생한다.
과도한 페이지 폴트로 인해 CPU이용률이 감소하는 현상을 스레싱이라고 한다.
[스레싱의 원인]
스레싱이 발생하는 이유는 프로세스가 자신이 필요한 만큼의 프레임을 찾지 못했기 때문이다.
Locality 사이즈 > 메모리 사이즈일 때 스레싱이 발생
Locality model : 메모리의 일부 지역만 집중적으로 접근
1 ) 프로세스의 지역성은 움직임
2 ) 지역성은 겹칠수도 있음.
[작업 직합 모델 (Working-Set]
작업 집합(s) = 고정된 페이지 참조 수
작업 집합 모델 : s만큼 접근할 때 접근한 메모리 페이지
다음 예시로 이해하자. ( S = 10이라고 가정한다)
그렇다면 작업 집합을 어떻게 파악할 수 있을까?
-> 일정 간격 타이머와 참조 비트를 사용한다.
[페이지 폴트 빈도(PFF)]
작업 직합 모델은 스레싱을 조절한다기엔 조금 어색하다.
페이지 폴트 빈도 방식은 좀 더 직접적으로 스래싱을 조절한다.
아래의 그림에서 이해해보자.
1 ) Upper bound위로는 워킹셋이 확보 되지 않은 상태로 프레임이 더 필요한 상태이다.
2 ) Lower bound아래로는 충분한 워킹셋이 확보 된 상태로 남는 프레임은 다른 곳에 할당한다.