ecsimsw

Allocation of frame 본문

Allocation of frame

JinHwan Kim 2019. 10. 30. 02:23

Thrashing

 

   - CPU utilization 과 degree of mulit-programming은 비례할 것지만 실제로는 그렇지 않다. multi-programming 정도가 커지면서 page in-out 빈도가 늘어나고, 비교적 많이 느린 메모리와 보조 메모리를 사용하는 시간동안 cpu의 활용이 줄어들기 때문이다. 이런 페이지 결함이나 그로 인한 과도한 페이징 작업을 thrashing 이라고 한다.

 

   - thrashing은 페이지 수에 크게 의존하고, thrashing만을 생각한다면 global 보다는 local replacement가, 더 나아가 한 프로세스 당 페이지 수를 적절하게 할당하는 것이 좋다.

 

Techniques to handle

 

   - thrashing을 예방하기 위해 적절한 수를 할당하는 방식은 크게 static / dynamic 방식으로 나뉜다. 

 

  static method

 

   - 정적인 방식은 프로세스의 크기에 맞춰 페이지 수를 지정한다. equal 방식은 프로세스 마다 동일한 프레임 수를 할당하고, propotion 방식은 프로세스 크기 비중에 따라 프레임 수를 할당한다.

 

  dynamic method

 

   1) working set model

 

      - locality를 기반으로 추측한다. window 크기를 기준으로 과거의 참조 정보를 확인하여 적절한 프레임 수를 예측한다. hit rate을 늘려 multi programming degree는 올리고, cpu 활용률을 증가 시키지만, 적절한 window 크기를 설정하는데 어려움이 있다는 단점이 있다.

 

   2) page fault frequency

 

      - page fault 횟수의 상한선과 하한선을 지정하여, 그 적정선 안에서 프레임 수를 추가하고, 회수한다.

 

   

'Computer Science > Operating system' 카테고리의 다른 글

Disk scheduling  (0) 2019.11.05
File Allocation  (0) 2019.11.05
Page replacement  (0) 2019.10.29
Effective Access Time / Locality of reference  (0) 2019.10.19
Virtual memory / Demand paging  (0) 2019.10.19
Comments