Halo World

디스크 스케줄링 본문

개발 지식/OS

디스크 스케줄링

_Yeony 2017. 7. 26. 17:55


| 디스크 스케줄링이란?


> 사용할 데이터가 디스크 상의 여러곳에 저장되어 있을 경우, 데이터를 액세스하기 위해 디스크 헤드를 움직이는 경로를 결정하는 기법

> 운영체제가 담당

> 목적 : 처리량 최대화, 응답시간 최소화




| 디스크 스케줄링 기법


[예제 표]


: 현재 위치는 50이고 방향은 안쪽(0쪽) 방향이다.

 150

70 

200 

30 

20 

60 



 1) FIFO

> 요청이 들어온 순서대로 서비스 하는 방식

> 이동 순서

   : 50 -> 150 ->  0 -> 70 -> 200 -> 30 -> 20 -> 60


> 헤드의 이동거리 : 670



 2) SSTF

     > 현재 위치에서 탐색거리가 가장 짧은 요청 먼저 서비스하는 방식으로 일괄처리 시스템에 유용하다

     > 기아상태 발생 가능

     > 이동순서 

  : 50 -> 60 ->  70 -> 30 -> 20 -> 0 -> 150 -> 200

> 헤드의 이동거리 : 290


 3) SCAN

     > 현재 진행중인 방향으로 가장 짧은 탐색 거리에 있는 요청을 먼저 서비스

     > 현재 진행방향에 더이상의 요청이 없을 때만 방향 바꿈 (현재 방향의 끝까지 간 후에)

     > SSTF의 응답시간 편차를 줄일 수 있음

     > 이동순서

        : 50 -> 30 -> 20 -> 0 -> 60 -> 70 -> 150 -> 200

     > 헤드의 이동거리 : 250


 4) C-SCAN

     > 항상 바깥쪽에서 안쪽으로 움직이며 가장 짧은 탐색거리를 갖는 요청을 서비스

     > 안쪽 끝까지 이동했으면 다시 바깥쪽부터 탐색하는 방법으로 비교적 공평한 기법

     > 이동순서

        : 50 -> 30 -> 20 -> 0 -> 200 -> 150 -> 70 -> 60

     > 헤드의 이동거리 : 390


 5) LOOK ( =엘리베이터 알고리즘)

     > SCAN 기법과 비슷한데 진행방향에 더 이상의 요청이 없으면 역으로 스캔

     > 이동순서

        : 50 -> 30 -> 20 -> 0 -> 60 -> 70 -> 150 -> 200

     * SCAN은 이동방향의 끝까지 간 후 바꾸지만, LOOK은 요청까지만 간 후 바꿈


 6) N-STEP SCAN

     > SCAN 스케줄링과 유사하나 디스크헤드가 방향을 바꾸는 시점에서 큐에 대기중인 요구만을 서비스

     > SSTF나 SCAN에 비해 응답시간의 분산이 적음


 7) SLTF 스케줄링

     > 회전지연시간 최적화를 위한 알고리즘

     > 디스크 헤트가 특정 실린더에 도착하면 그 실린더 내의 여러 트랙에 대한 요청들을 검사 후, 회전지연시간이 가장 짧은 요청부터 서비스


'개발 지식 > OS' 카테고리의 다른 글

디렉토리 구조  (0) 2017.07.31
시스템 소프트웨어와 응용 소프트웨어  (0) 2017.07.30
교착상태(Deadlock)  (0) 2017.07.12
프로세스 간 동기화 (공유 자원에 대한 접근 문제)  (0) 2017.07.11
CPU 스케줄링  (0) 2017.07.10