연관토픽
기출문제
회차 | 문제 |
응용131-2 | 2. 프로세스 스레싱(Thrashing)의 정의, 발생 원인과 해결방법을 설명하시오. |
관리126-1 | 10. 스레싱(Thrashing) |
관리110-4 | 5. 프로세스 스레싱(Thrashing)의 발생 원인과 예방책을 설명하시오. |
개념 : 멀티 프로세싱 환경에서의 성능저하
- CPU가 프로그램 실행보다 페이지 교체에 더 많은 시간을 소요하여 성능이 급격하게 저하되는 현상
- 과도한 멀티프로그래밍 환경과 지역성 부족으로 인해 잦은 페이지 폴트가 발생함으로서 정상 연산 수행보다 페이지 교체에 더 많은 시간을 할당하게 되는 성능저하 현상
- page fault가 연속적으로 발생하여 프로세스 수행시간 보다 페이지 교환시간이 큰 상태
- 리소스 부족, 부적절한 페이지 교체 정책, 다중 프로그래밍의 정도가 심한 경우 발생하는 현상
쓰레싱 발생원인
구분 | 주요원인 | 결과 |
운영체제 | 프로세서의 이용률 감시 운영 | 이용률이 떨어지며, 새로운 프로세스 도입하여 다중 프로그램 정도를 높임 |
멀티 프로세스 | 프로세서가 요구하는 최소수 보다 페이지 프레임수가 적음 | 프로세스의 요구로 Page 부재 발생처리 |
다른 프로세스의 요청 | 계속 같은 경우(Page 부재) 발생 | |
Paging으로 인한 Ready Queue가 Empty | CPU 이용률 감소 | |
CPU Scheduler가 다중 프로그래밍 정도를 높임 | 새로운 프로세스의 적재 | |
새로운 프로세스는 수행중인 프로세스로부터 page를 뺏으려 함 | Page Fault 발생 | |
더 많은 page fault 발생 | CPU 이용률 지속적 감소 |
- 쓰레싱의 완벽한 예방은 어렵고, Working Set Model, Page Fault Frequency, 우선순위 교환 알고리즘을 통해 발생을 최소화 시키는 것이 최선의 방법임
페이지 부재 발생 절차
- 페이지에 대한 지역성을 이용하여 hit ratio를 높혀 디스크 접근을 최소화
- 멀티 프로그래밍의 경우는 지역성의 장점이 크게 감소
- 페이지 부재 연속적으로 발생하여 계속적으로 페이지 교환이 일어나는 현상
쓰레싱 해결방안
(1) 워킹셋 모델
구분 | 설명 | 특징 |
원리 | 지역성의 가정을 기반으로 동작 | 지역성 기반 working set |
동작특징 | 과도기, 안정기가 주기적으로 반복 | 프로세스 시작/이동에 변화 |
장점 | multi programming 정도를 높임 | page hit rate 증가 |
CPU 활용률을 최적화 | 임계치 극대화 | |
단점 | working set 추적관리가 복잡 | WS 크기/구성의 변화 심함 |
working set window 사이즈 설정의 모호함 | 매개변수의 최적값을 모름 | |
각 프로세스가 참조한 페이지 Queue 유지 관리 | 메모리 관리의 복잡 |
(2) Page Fault Frequency
구분 | 설명 | 특징 |
원리 | 스레싱은 페이지 부재에서 발생 | 페이지 부재비율 조절 |
동작특징 | 페이지 부재 비율이 높음 | 프레임 할당 |
페이지 부재 비율이 낮음 | 프레임 회수 | |
장점 | 페이지 부재가 발생할 때만 실행 | Overhead가 적음 |
직접적으로 페이지 부재율 조절 가능 | 부재비율에 따라 프레임 할당 | |
단점 | 프로세스를 중지 시키는 과정 발생 가능 | 부재율 증가, 유효 프레임 없음 |
페이지 참조가 새로운 지역성으로 이동 | 작동 어려움 |
워킹 셋 vs. PFF
구분 | 워킹셋(working set) | PFF(Page Fault Frequency) |
개념 |
|
|
구성도 | ||
특징 |
|
|
모범답안