2010년 12월 26일 일요일

Disk scheduling

1. 디스크 스케쥴링이란??


- 디스크 스케줄링은 여러 섹터들에 대한 입출력요구가 있을 때 이를 좀더 효율적으로 처리해 주기위해 우선순위를 정해주고 이를 관리하는 것을 말한다. (디스크 입출력을 위해 대기하고 있는 요구 ( Request )들 중에서 어느 요구를 먼저 처리할 것인가를 결정)

->대기 중인 요청 들에 대해 서비스하는 순서를 어떻게 결정하는가에 따라 디스크 시스템의 성능이 크게 달라지기 때문이다.


2. 디스크 스케쥴링 대상

- Seek Time : 데이터의 기록 / 판독을 위해 디스크 헤드를 필요한 실린더로 이동시키는 데 소요되는 시간

- Rotational Delay , Latency Time : 디스크 헤드가 지정된 실린더에 도착한 후 지정된 섹터가 헤드 아래에 도착할 때까지 기다리는 시간

- Data Transmission Time : 디스크 주소 상의 표면 번호에 따라 해당 섹터를 읽어 전송하거나 전동된 데이터를 해당 섹터에 기록하는 시간
* 디스크 접근시간 = 탐색시간(seek time) + 회전 지연 시간(rotation delay time) + 전송시간

* 비중 : Seek Time > Rotation Delay Time > Data Transmission Time


3. 디스크 스케쥴링의 종류


FCFS ( First Come First Served ) 스케줄링

- 디스크 입출력 요구들이 도착한 순서대로 서비스 하는 기법

- 디스크 입출력에 대한 부하가 작을 경우에 적합

* 사실상 스케쥴링을 하지 않는 것과 마찬가지임

SSTF ( Shortest Seek Time First ) 스케줄링

- 응답 큐에 대기 중인 요구들 중, 현재 헤드의 위치부터 가장 가까운 요구를 먼저 서비스하는 방식

- 큐의 요구들을 처리하는 동안 헤드의 이동 거리 극소화 -> 단위 시간당 처리량 극대화

- 평균 응답 시간도가 비교적 낮게 유지 -> 단 디스크 시스템의 부하가 크지 않을 경우

- 응답시간에 대한 예측성이 저하됨 ( 부하가 커지면 무기한 연기 현상 초래 가능 )


SCAN 스케줄링

- SSTF 기법과 비슷함

- 현재 큐에 대기 중인 요구들 중에서, 현재 헤드의 진행 방향으로 현재 헤드의 위치와 가장 가까운 요구를 먼저 서비스하고, 마지막 실린더에 도착했을 때에 방향을 전환한다.

- SSTF 기법의 예측성이 저하되는 단점 해결

  -> 대체적으로 단위 시간당 처리량, 평균 응답 시간의 면에서 우수함
  -> 실제 디스크 시스템에서 사용되는 스케줄링 기법의 근간


LOOK 스케줄링 / 엘레베이터 알고리즘

- SCAN 스케줄링 기법과 유사

- 헤드가 진행하는 도중 진행 방향의 앞쪽으로 더 이상의 요구가 없으면 양 끝의 실린더까지 진행하지 않고 그 자리에서 방향을 바꿈


N-step SCAN 스케줄링

- SCAN 스케줄링 기법과 유사

- 디스크헤드가 방향을 바꾸는 시점에서 큐에 대기 중인 요구들만을 대상으로 서비스 진행

- SCAN과의 차이점 ( 서비스가 진행되는 중에 도착한 요구들에 대해서는 다음번 방향을 바꾼 후에 처리 )

- SSTF나 SCAN기법 보다 응답 시간의 분산이 작음, 무기한 연기의 가능성 배제


C-SCAN ( Circular SCAN ) 스케줄링

- SCAN 기법과 유사

- 미리 정해진 서비스 방향 ( 안쪽 또는 바깥쪽 )으로 헤드가 이동할 때에만 큐의 요구들을 처리

- 응답 시간의 분산이 매우 작은 기법, 응답 시간에 대한 예측성이 매우 높다.


C-LOOK 스케줄링

- C-SCAN 기법과 기본적으로 비슷하다.

- LOOK 기법처럼 헤드의 진행방향을 더 이상 요구가 없다면 즉시 방향을 바꿈

댓글 없음:

댓글 쓰기