스레싱
설명 영상 스레싱 · 2:15
왜 배우는가: 스레싱은 메모리 관리 실패가 시스템 전체 성능 붕괴로 이어지는 대표적 현상이며, 운영체제·가상 메모리 문제로 거의 매회 반복 출제된다. 워킹 셋, 페이지 부재 빈도, 다중 프로그래밍 정도의 관계를 이해해야 원인과 예방책을 답안에 논리적으로 쓸 수 있다.
출제 이력: 제126회 1교시 10번, 제110회 4교시 5번
1. 한 줄 정의와 핵심 키워드
스레싱은 페이지 부재와 페이지 교체에 CPU 시간이 집중되어 실제 작업이 거의 진행되지 않는 현상이다.
핵심 키워드는 다음과 같다.
- 스레싱(Thrashing)
- 페이지 부재(Page Fault)
- 워킹 셋(Working Set)
- 지역성(Locality)
- 다중 프로그래밍 정도(MPD)
- 페이지 부재 빈도(PFF)
- CPU 이용률
- 프레임 할당
2. 개념 풀이
쉽게 말하면 메모리가 모자라 프로그램이 디스크와 메모리 사이에서 페이지를 주고받느라 정작 계산을 하지 못하는 상태다. 컴퓨터가 바쁘게 움직이지만 일은 거의 하지 못하는 셈이다.
정식 정의는 다음과 같다. 스레싱은 가상 메모리를 쓰는 시스템에서 프로세스가 필요로 하는 활성 페이지를 메모리에 유지하지 못해 페이지 부재가 연속적으로 발생하고, 페이지 교체 시간이 프로그램의 실질 연산 시간을 압도하는 상태다. 프로세스 전체 실행 시간 중 교체에 소요되는 비율이 급격히 커지며, 이때 CPU 이용률은 오히려 급락한다.
핵심 용어는 다음과 같이 풀이한다.
워킹 셋(Working Set)은 일정 시간 창 안에서 프로세스가 집중적으로 참조한 페이지들의 집합이다. 프로세스가 원활히 진행하려면 이 집합이 메모리에 상주해야 한다.
지역성(Locality)은 프로세스가 특정 시점에 좁은 범위의 페이지만 집중 참조하는 성질이다. 지역성이 유지되면 페이지 부재는 지역이 바뀔 때만 발생한다.
페이지 부재 빈도(PFF)는 단위 시간당 페이지 부재가 발생하는 횟수다. 이 값이 상한을 넘으면 프레임을 더 주고, 하한 아래면 회수하는 데 쓰인다.
다중 프로그래밍 정도(MPD)는 동시에 메모리에 올라 실행 중인 프로세스 수다. 이 값이 지나치게 커지면 각 프로세스가 가질 프레임이 줄어 스레싱의 직접 원인이 된다.
3. 등장 배경과 필요성
가상 메모리는 물리 메모리보다 큰 프로그램을 실행하고, 여러 프로그램을 동시에 올리기 위해 등장했다. 이 구조는 CPU 이용률을 높이는 목적도 있었다.
그러나 다중 프로그래밍 정도를 높이면 CPU 이용률이 처음에는 오르다가 어느 지점부터 떨어진다. 스케줄러가 CPU 이용률이 낮다고 판단해 새 프로세스를 계속 투입하면 프로세스당 프레임이 부족해진다. 이 악순환이 스레싱의 출발점이다.
따라서 스레싱을 이해하려면 CPU 이용률과 다중 프로그래밍 정도의 관계, 그리고 워킹 셋이 가용 프레임보다 커지는 조건을 함께 알아야 한다. 이 관계는 4절과 10절에서 원인과 예방책으로 다시 다룬다.
워킹 셋 합계가 가용 프레임 수를 초과하면 스레싱 위험이 커진다
다중 프로그래밍 정도가 임계점을 넘으면 CPU 이용률이 급감한다
4. 구성요소·원리·절차
스레싱 방지는 세 가지 요소를 함께 본다. 각 요소가 무엇을 측정하고 어떻게 조정하는지 아래 표로 정리한다.
이어지는 내용
- 5. 관련 법령·기준·표준
- 6. 유형과 비교
- 7. 장단점·한계와 개선 방향
- 8. 사례 또는 계산 예제
- 9. 최근 동향과 쟁점
- 10. 흔한 실수와 채점 포인트
- 11. 암기 정리
- 12. 답안 구성 예시
- 13. 예상 변형 문항
로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 단원 읽기