디스크 스케줄링은 디스크의 I/O 요청 처리 순서를 적절한 순서로 스케줄링하여 접근시간 및 대역폭을 향상시키는 방법이다. 디스크 스케줄링의 방법으로는 FCFS, SSTF, SCAN, C-SCAN, LOOK, C-LOOK 스케줄링이 있ㄸ.
1) FCFS : 선입선처리 스케줄링
FIFO 큐를 사용하여 요청한 순서대로 처리하는 방법이다. 빠른 서비스를 제공하지 못하며, 부하가 많은 경우 특히 비효율적이다.
2) SSTF: 최소 탐색 우선 스케줄링이다. (Shortest-Seek-Time-First Scheduling)
현재 헤드 위치에서 탐색시간이 최소인 위치의 요청을 먼저 선택하는 방법이다. FCFS방법보다 효율적이지만, 일부 요청의 기아 상태가 발생할 수 있다.
3) SCAN : 엘레베이터 알고리즘
디스크 암이 한쪽 끝에서 시작하여 다른 쪽 끝으로 이동하면서 가는 길에 있는 모든 요청들을 처리하는 방법이다. 선호방향에서 탐색거리가 짧은 요청을 처리한다.
4) C-SCAN (Circular Scan) : 원형 스캔
디스크 헤드가 한쪽 끝에서 다른 쪽 끝에 도달하면, 즉시 시작했던 쪽 끝으로 이동한다 (실린더를 원형 리스크로 간주하는 방법) 한방향 탐색만을 이용한다. SCAN방식보다 균일한 대기 시간을 제공한다.
5) LOOK: 각 방향의 마지막 요청에 도달하면 헤드의 이동 방향을 즉시 바꾸는 요청방법이다.
6) C- LOOK : 원형 LOOK 방법이다.
알고리즘 선택 기준:
SSTF, LOOK: 일반적으로 선택한다. SSTF방식은 부하가 크면 부적합하다.
SCAN, C-SCAN : 디스크를 많이 사용하는, 부하가 큰 시스템에 적합하다.