스래싱

From CS Wiki
Revision as of 11:19, 10 June 2019 by Itwiki (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Thrashing

개요[edit | edit source]

  • 프로세스의 처리시간보다 페이지 교체시간이 더 많아지는 현상
  • CPU의 이용률이 급격히 낮아진다.

발생원인[edit | edit source]

  • 과도한 프로세스들 간의 메모리 경쟁
  • 주기억장치가 감당할수 없을 정도의 다중 프로그래밍
  • 페이지 교체 알고리즘의 비효율적인 동작

해결방법[edit | edit source]

  • 각 프로세스들에게 충분한 페이지 프레임을 할당할 수 있도록 다중 프로그래밍의 정도를 낮춘다.
  • 주기억장치의 용량을 보강한다.
  • 주기억장치 내 워킹세트가 유지되도록 소프트웨어 동작 구조나, 페이지 교체 알고리즘을 개선한다.


관련 개념[edit | edit source]

구역성(Locality)[edit | edit source]

  • 특정 프로세스의 계산 영역은 지역화되는 경향이 있다.
  • 1960년 Denning 교수에 의해 증명되었다.
  • 구역성 자세히 보기


워킹세트(Working Set)[edit | edit source]

  • 실행 중인 프로세스가 일정 시간 동안 참조하는 페이지들의 집합(Locality를 이루는 대상들)
  • 페이지 교체가 많이 일어나지 않으려면 이 워킹세트가 주기억장치 내에 유지되어야 한다.