티스토리 뷰

운영체제/이론

(74) Thrashing

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

### Thrashing ###

< Thrashing >

: process에 "enough" frame이 없는 경우(i.e. 현재 free frame < minimum number of frames) 계속 page fault를 반복해서 한다.

=> page-fault랑 page replacement가 번갈아 가면서 발생

==>> process에 할당된 frame이 너무 적어서 자기작업을 처리하는데 쓰는 시간보다도 page-fault처리하는데 드는 시간이 큰 경우 (memory영역에 접근할 때 page-fault rate가 높은 것)

< Cause of thrashing >

1. OS는 낮은 cpu 사용률을 모니터링한다.

2. OS는 multiprogramming degree을 높인다.

 (process를 memory위에 더 많이 올린다.) => 더 많은 frame을 요구하는 것(더 많은 page 접근 요청하는 것)

3. process로 인해 page-fault가 발생한다.(frame이 부족)

 

4. faulting process는 다른 process에서 frame을 가져온다.(global replacement)

5. process가 paging device를 기다리면 cpu utilization이 감소한다.

 

6. 계속 반복

=> process 작업 못하는 상황(disk만 계속 일한다) => cpu utilization감소(cpu 논다)  => os는 multiprogramming degree 증가(더 많은 process를 memory에 올릴려고 한다) => 반복되서 결국 cpu utilization이 떨어지는 경우 발생(thrashing)  ==>> overhead만 처리하려고 하기 때문

 

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

반응형

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

(76) Mass Storage Structure  (0) 2020.10.11
(75) Thrashing 줄이는 방법  (0) 2020.10.10
(73) Replacement  (0) 2020.10.10
(72) frame allocation algorithm  (0) 2020.10.10
(71) Allocation of Frames  (0) 2020.10.10
공지사항
최근에 올라온 글