새소식

반응형
밥벌이/운영체제

스래싱의 예방과 조치

  • -
반응형
  • 예방
    • 스래싱의 효과는 지역 교환 알고리즘이나 우선 순위 교환 알고리즘을 사용하여 제한 시킬 수 있는데, 지역 교환 알고리즘을 이용하면 하나의 프로세스가 스래싱을 발생하게 되더라도 다른 프로세스로부터 프레임을 갖고 올 수 없게 되므로, 다른 프로세스를 스래싱 현상에 빠뜨릴 수 없게 됨
    • 여러 프로세스가 스래싱을 일으키게 되면 대부분의 시간을 페이징 처리 장치를 기다리는 큐에서 보내게 되므로, 페이지 부재 처리를 위한 평균 시간이 증가하게 되어 Denning은 50% 수준의 다중 프로그래밍 정도를 제안하고 있으며, 가장 확실한 예방은 프로세스가 요구하는 프레임 수를 제공하는 것
         
  • 지역성(Locality)
    • 실행 중인 프로세스에 의해 나타나는 특성으로, 프로세스들은 실행 기간 동안 메모리 내의 페이지들을 균일하게 액세스하는 것이 아니라 페이지들 중 일부를 선호하여 지역적인 부분만을 집중적으로 참조하게 되는 현상
    • 지역성은 프로그램의 순환(Looping)이나 서브 프로그램, 스택, 변수들의 계산과 합계, 배열순례, 순차적 코드의 실행 등이나 프로그래머들이 관련 있는 변수들을 서로 근처에 배치하기 때문에 나타나는 현상
      • 시간 지역성
        참조된 기억 장소가 가까운 미래에도 계속 참조될 가능성이 높음
      • 공간 지역성
        프로세스가 어떤 기억 장소를 참조하면 그 근처의 기억 장소가 이 후에도 계속 참조될 가능성이 높음
    • 스래싱을 방지하기 위해서는 각 프로세스가 필요로 하는 프레임을 제공할 수 있도록 해야 하는데, 지역성을 이용해서 현재의 지역 크기보다 작은 페이지 프레임을 할당하게 되면 페이지 부재 발생의 원인이 될 수 있음
         
  • 방지 조치
    • 다중 프로그래밍의 정도를 낮춤
    • 페이지 부재 빈도(Page Fault Frequency)를 적절히 조절하여 사용
    • Working Set을 제대로 유지
    • 지역성(Locality)을 이용
    • 프로세스 서비스 슬라이스를 늘려줌
    • 성능 자료를 지속적으로 모니터링하고 분석하여 임계치를 예상하고 관리
    • 부족한 자원을 증설
         
  • 해결 기법
    • 작업 집합(WS; Working Set) 기법
      • 프로세스에게 작업 설정에 맞는 충분한 프레임을 할당
      • 작업집합이란, 프로세스가 활발하게 참조하고 있는 페이지의 집합
      • 기억 장소 참조의 지역성의 성질을 이용하며, 작업 집합 크기의 결정이 매우 중요
      • 프로그램이 효율적으로 실행되기 위해서는 작업 집합은 항상 메인 모리에 상주하고 있어야 함
      • 매번 참조 시마다 상주 페이지 집합 조정으로 높은 오버헤드 발생
    • 페이지 부재 빈도(PFF; Page Fault Frequency) 기법
      • 원하는 페이지 부재율의 상한과 하한을 정함
        • 페이지 부재율 > 상한 : 그 프로세스에게 프레임을 더 할당
        • 페이지 부재율 < 하한 : 그 프로세스로부터 프레임을 회수
      • 페이지 부재 발생 시에만 상주 페이지 집합 조정으로 낮은 오버헤드가 가능
반응형

'밥벌이 > 운영체제' 카테고리의 다른 글

인터럽트 우선순위  (0) 2011.10.05
스래싱(Thrashing) 개요  (0) 2011.08.10
교착상태 개요  (0) 2011.08.10
교착상태 발생의 조건  (0) 2011.08.10
교착상태 해결 방법  (0) 2011.08.10
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.