ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스레싱
    운영체제/가상 메모리 2018. 2. 4. 20:47

    충분한 프레임을 할당받지 못한 프로세스는 페이지 교체가 빈번하게 발생되어 낮은 CPU 이용률을 보이게 된다.

    스레싱 : 교체된 페이지가 얼마 지나지 않아 다시 사용되는 반복적인 페이지 부재가 발생하는 상황

     

     

    스레싱의 원인

    운영체제는 CPU 이용률을 검사해 CPU이용률이 너무 낮을 경우 새로운 프로세스를 시스템에 추가해서 다중 프로그래밍의 정도를 높인다.

    이때 페이지 교체가 필요하다면 이미 활발하게 사용되는 페이지들 로만 이루어져 있으므로

    어떤 페이지가 교체되든지 바로 다시 페이지 교체가 필요하게것이다.

    이런 현상이 일어날 경우 다중 프로그래밍 정도를 낮춰 스레싱을 해결할 있다.

     

    스레싱은 지역 교환 알고리즘 이나 우선순위 교환 알고리즘 사용해 제한 있다.

    지역 교환 알고리즘이 적용된 시스템에서는 프로세스가 스레싱을 유발하더라도

    다른 프로세스로부터 프레임을 빼앗아올 없으므로 다른 프로세스는 스레싱으로부터 안전할 있다.

     

    스레싱 현상을 방지하기 위해서는 프로세스가 필요로 하는 최소한의 프레임 개수를 보장해야 한다.

    프로세스가 필요로 하는 최소한의 프레임 수를 있는 방법 하나인 작업 집합 지역성 모델 기반으로 한다.

    지역성 모델이란 프로세스가 실행될 항상 어떤 특정한 지역에서만 메모리를 집중적으로 참조하는 것을 말한다.

     

    어떤 프로세스에게 현재 지역성을 포함하기에 충분한 프레임을 제공해 준다고 가정하면 프로세스는

    현재 지역의 모든 페이지가 메모리로 올라올 때까지는 페이지 부재를 발생시키지만 후에는 지역이 변경되기 전까지는 페이지 부재를 발생시키지 않게 된다.

     

    필요로 하는 지역성의 크기보다 적은 프레임을 할당하게 되면 프로세스는 접근해야 하는 모든 페이지를 메모리에 유지할 없기 때문에

    지속적으로 페이지 부재를 발생시키게 된다. 스레싱이 일어난다.

     

     

    작업 집합 모델

    작업 집합 모델은 지역성을 토대로 하고 있다.

    최근 Δ만큼의 페이지 참조를 관찰해 최근 Δ 페이지를 참조했다면

    안에 들어있는 서로 다른 페이지들의 집합을 작업 집합이라고 한다.

    작업 집합의 정확도는 Δ 선택에 따라 좌우된다. 만약 Δ값이 너무 작으면 전체 지역을 포함하지 못할 것이고

    Δ 값이 너무 크다면 여러 지역성을 과도하게 수용할 것이다.

     

     

    페이지 부재 빈도

    페이지 부재 빈도 방식은 보다 직접적으로 스레싱을 조절한다.

    페이지 부재율의 상한과 하한을 정해 놓고 만약 페이지 부재율이 상한을 넘으면 프로세스에게 프레임을 할당해주고

    하한보다 낮아지면 프로세스의 프레임 수를 줄인다. 이렇게 함으로써 부재율을 관찰하고 조절함으로써 스레싱을 방지할 있다.

     

     

    작업 집합과 페이지 부재율

    데이터와 코드에 대한 참조는 시간의 흐름에 따라 지역에서 다른 지역으로 옮겨간다.

    어떤 프로세스의 작업 집합을 수용할 있는 충분한 메모리가 있다면 페이지 부재율은 시간이 지남에 따라 고점과 저점을 오르내리게 된다.

    페이지 부재율의 고점은 새로운 지역으로 들어가 요구 페이징이 시작되는 경우 발생하고 새로운 지역의 작업 집합이 메모리에 올라오고 나면 부재율은 낮아진다.

     


    '운영체제 > 가상 메모리' 카테고리의 다른 글

    커널 메모리의 할당  (0) 2018.02.04
    메모리 사상 파일  (0) 2018.02.04
    프레임의 할당  (0) 2018.02.04
    페이지 교체  (0) 2018.02.04
    쓰기 시 복사  (0) 2018.02.04

댓글