디스크 스케줄링(Disk Scheduling)은 사용할 데이터가 디스크 상의 여러 곳에 저장되어 있을 경우 데이터를 액세스하기 위해 디스크 헤드가 움직이는 경로를 결정하는 기법이다.
- 종류 : FCFS, SSTF, SCAN, C-SCAN, N-step SCAN, 에센바흐, SLTF 스케줄링 기법 등
주요 디스크 스케줄링
FCFS (First Come First Service) = FIFO (First In First Out)
FCFS는 가장 간단한 스케줄링으로, 디스크 대기 큐에 가장 먼저 들어온 트랙에 대한 요청을 먼저 서비스하는 기법이다.
- 디스크 대기 큐에 있는 트랙 순서대로 디스크 헤드를 이동시킨다.
- 디스크 대기 큐에 들어온 순서대로 서비스하기 때문에 더 높은 우선순위의 요청이 입력되어도 순서가 바뀌지 않아 공평성이 보장된다.
- 디스크 오버헤드가 적을 때 효율적이며, 프로그래밍이 쉽다.
- 헤드 이동 거리가 상당히 길어질 수 있다.
- 디스크 오버헤드가 커지면 응답 시간이 길어진다.
- 탐색 시간을 최적화하려는 시도가 없는 기법이다.
문제 1. 초기 헤드 위치가 53번 트랙이고, 디스크 대기 큐에 다음과 같은 순서의 액세스 요청이 대기 중일 때 헤드의 이동 순서와 이동 거리를 구하시오.
디스크 대기 큐
98, 183, 37, 122, 14, 124, 65, 67 <--- 트랙 번호
이동 순서 : 53 > 98 > 183 > 37 > 122 > 14 > 124 > 65 > 67
이동 거리 : 45 + 85 + 146 + 85 + 108 + 110 + 59 + 2 = 640
SSTF (Shortest Seek Time First)
SSTF는 탐색 거리(Seek Distance)가 가장 짧은 트랙에 대한 요청을 먼저 서비스하는 기법이다.
- 현재 헤드 위치에서 가장 가까운 거리에 있는 트랙으로 헤드를 이동시킨다.
- FCFS보다 처리량이 많고, 평균 탐색 시간이 짧다.
- 처리량이 많은 일괄 처리 시스템에 유용하다.
문제 1. 초기 헤드 위치가 53번 트랙이고, 디스크 대기 큐에 다음과 같은 순서의 액세스 요청이 대기 중일 때 헤드의 이동 순서와 총 이동 거리를 구하시오.
디스크 대기 큐
98, 183, 37, 122, 14, 124, 65, 67 <--- 트랙 번호
이동 순서 : 53 > 65 > 67 > 37 > 14 > 98 > 122 > 124 > 183
이동 거리 : 12 + 2 + 30 + 23 + 84 + 24 + 2 + 59 = 236