dongdorodongdong
가상기억장치의 성능(Working Set/Thrashing/Locality) 본문
워킹 셋(Working Set)
- 정의
- 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
- 시점 t에서 W(t, w)는 해당 프로세스가 t-w 시간부터 t까지 참조한 페이지들의 집합 - 특징
- 데닝(Denning)이 제안
- Locality의 특징을 이용
- 워킹 셋은 시간에 따라 변함
- 자주 참조되는 Working Set을 주 기억장치에 상주시킴으로써 Page Fault 및 Page Replacement 현상을 줄인다.
스래싱(Thrashing)
- 정의
- 프로세스의 처리 시간 < 페이지 교체 시간으로 CPU 이용률이 저하되는 현상이다.
- 다중프로그래밍, 가상 기억장치 사용하는 환경에서 하나의 프로세스 수행 과정 중 자주 Page Fault가 발생함으로 인해 나타나는 현상
- 전체 시스템의 성능이 저하 - 방지 방법
- 다중 프로그래밍의 정도를 적정 수준으로 유지
"다중프로그래밍의 정도가 높아짐에 따라 CPU 이용률은 어느 특정 시점까지는 높아지지만 다중 프로그래밍의 정도가 더욱 커지면 스래싱이 나타나고, CPU 이용률이 급격히 감소"
- CPU 이용률을 높인다.
- Working Set 방법을 사용한다.
구역성(Locality)
- 정의
- 프로세스가 실행되는 동안 일부 페이지만 집중적으로 참조하는 성질
- Denning이 증명 - 시간 구역성
- 최근에 참조된 기억 장소가 곧 다시 참조될 거야!
- Loop, 서브루틴, Stack - 공간 구역성
- 하나의 기억 장소가 참조되면 이 기억장소 근처의 기억장소들이 계속 참조될 거야!
- 배열순회, 순차적 코드 실행
'Operating System' 카테고리의 다른 글
Linux/Unix 기본 명령어 (0) | 2019.04.11 |
---|---|
CPU Scheduling (0) | 2019.03.26 |
암호화 기법 (0) | 2019.03.26 |
Process / Thread (0) | 2019.03.26 |
OS 발달 과정 (0) | 2019.03.26 |