티스토리 뷰

운영체제/이론

(75) Thrashing 줄이는 방법

geonwoopaeng@gmail.com 2020. 10. 10. 16:55

### Thrashing 줄이는 방법 ###

< Local replacement to solve thrashing >

: 한 process가 thrashing을 시작하면 다른 process의 frame을 훔칠 수 없으며 후자가 thrash된다.

  => thrashing이 발생하지 않는 process 처리 성능까지 영향을 끼치기 때문에 완벽한 방법은 아니다.

  ==>> 근본적으로 thrashing처리하기 위해서는 각 process가 요구하는 frame의 minimum number을 보장하는 것이 최선이다. (범위를 수정하게 해주는 model중 하나가 locality model)

: process가 thrashing하는 경우 대부분 paging device의 대기열에 있는다.

< Locality model >

: process가 처리가 될때 memory접근 요청이 발생하는 데 접근을 요청하는 memory위치는 패턴을 가지고 있다.

  => 특정 영역에서의 memory address가 집중적으로 접근 요청이 된다.

  (process가 일을 할때는 일정한 영역(address)을 사용한다.)

 (:thrashing을 방지하기 위해 os는 필요한만큼 많은 frame을 process에 제공해야 한다.

 : locality model states은 process가 실행될 때 locality에서 locality로 이동함을 나타낸다.

 : locality는 함께 사용되는 일련의 page이다.)

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

(시간이 지남에 따라 page number의 경향을 파악할 수 있다)

 

 

< Working-set model (작업 집합) >

: thrashing을 방지 할 수 있다. (간접적)

: locality model을 사용하기 위한 컨셉중 하나

  => locality에 속하는 page영역이 어떻게 되는지 확인하는 것(시간 기반)

: working-set - delta 시간동안 접근 요청을 한 page number의 집합

: 정확한 delta 크기가 중요하다

  (delta 크기 너무 작을 시: 충분한 page 접근 list를 얻지 못한다(locality 도출X))

  (delta 크기 너무 클 시: 지나치게 많은 frame할당 받는다(여러개의 locality가 도출) => 의미 있는 locality 도출 어렵    다)

 

==> D = ∑ WSSi

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018)

(WSSi: 요구하는 frame개수, D: 전체 process가 요구하는 frame개수)

(page fault 급격히 증가하는 부분: 하나의 page number을 얻지 못한 것, 새로운 routine(process의 일)시작 부분)

(밑 자갈자갈한 부분: working-set에 대한 page가 전부 frame에 적재된 시점)

 

 

< Page-fault frequency >

: thrashing을 의도적으로 수행한다.

: page-fault rate를 직접 모니터링 하는 것

  (원하는 page-fault rate에서 상한 및 하한을 설정한다.)

  (page 단위 뿐만 아니라 process단위로도 진행 할 수 있다.)

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018) ​

반응형

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

(77) HDD Scheduling  (0) 2020.10.11
(76) Mass Storage Structure  (0) 2020.10.11
(74) Thrashing  (0) 2020.10.10
(73) Replacement  (0) 2020.10.10
(72) frame allocation algorithm  (0) 2020.10.10
공지사항
최근에 올라온 글