엔지니어가 되고 싶은 공돌이
31. Storage System(2) - disk scheduling 본문
15. 4 disk scheduling
- 여러 개의 작업이 들어올 때 어떤 순서로 읽어야 효율적일까?
- seek는 비용이 많이 들기 때문에.
- 디스크가 이미 작업중인데 새로운 작업이 들어오면 disk queue에서 기다리게 된다.
1) FCFS: 요청이 오는 순서대로 처리.
- load가 적은 경우 합리적, 긴 request queue에 대해서 long waiting time
2) SSTF(시간적으로 제일 좋은 방법): seek time을 최소화. 가장 가까운 녀석부터 처리.
- starvation이 발생할 수 있다.
3) SCAN: elevator algorithm, 한 방향으로 쭈욱 그 다음 역 방향으로 쭈욱
- wait time이 비균일(non-uniformly)하다.
4) C-SCAN: SCAN이랑 비슷하지만 역 방향 진행없이 다시 돌아와서 한 방향으로만 진행.
- wait time이 균일하다.
- SCAN과 C-SCAN은 작업이 없어도 끝가지 가야하기 때문에 그 과정에서 시간이 소모됨.
5) LOOK/C-LOOK: SCAN/C-SCAN과 유사하지만 arm은 마지막 요청까지만 진행.
- 작업을 끝까지 가야할지를 판단하는 것에서 오버헤드가 발생.
<disk scheduling 선택>
- SSTF가 일반적이다.
- SCAN,C-SCAN은 디스크가 자주 과부하(queue에 많이 걸림)에 걸릴 때 좋다.
- 최신 디스크는 종종 자기 자신 스스로가 알아서 스케쥴링을 한다.
'Computer Science > Operating System' 카테고리의 다른 글
33. File System(2) - Directories (0) | 2021.06.05 |
---|---|
32. File Systems(1) - Basics (0) | 2021.06.02 |
30. Storage System(1) (0) | 2021.05.29 |
29. I/O System(3) (0) | 2021.05.27 |
28. I/O System(2) (0) | 2021.05.26 |
Comments