작성완료

디스크 스케줄링
This blog discusses various disk scheduling algorithms and their efficiencies.
디스크 스케줄링(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***