티스토리 뷰
### 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만 처리하려고 하기 때문
반응형
'운영체제 > 이론' 카테고리의 다른 글
(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 |
공지사항
최근에 올라온 글