토픽 64 / 85·파일 시스템, I/O, 시스템 구조
디스크 스케줄링 (Disk Scheduling)
디스크 스케줄링 (Disk Scheduling)
디스크 I/O 요청들을 효율적으로 처리하기 위해 헤드 이동을 최소화하고 처리 순서를 결정하는 알고리즘
목적: 헤드 이동 최소화, 처리 시간 단축, 대역폭 증대, 공정성
특징: 헤드 이동(Seek Time)이 병목, 순서 최적화, 기아 가능
디스크 접근 시간: Seek Time(헤드 이동, 가장 큼) + Rotational Latency(회전 대기) + Transfer Time(데이터 전송)
주요 알고리즘
- •FCFS(First-Come, First-Served): 도착 순서, 단순, 공정, 긴 이동
- •SSTF(Shortest Seek Time First): 현재 위치에서 가장 가까운 요청, 기아 가능, 좋은 성능
- •SCAN(Elevator): 한 방향 끝까지 → 반대 방향, 공정, 예측 가능
- •C-SCAN(Circular SCAN): 한 방향만, 끝 도달 시 처음으로 점프, 더 균등한 대기
- •LOOK: SCAN과 유사, 마지막 요청까지만 이동(끝까지 안감)
- •C-LOOK: C-SCAN + LOOK, 가장 일반적
기아(Starvation): SSTF에서 중간 트랙 요청이 무한 대기, SCAN/C-SCAN으로 해결
성능 지표: 평균 헤드 이동 거리, 처리량, 응답시간, 공정성
적용사례: HDD 스케줄링, Linux(Deadline, CFQ, BFQ), 전통적 디스크 I/O
SSD 특성: Seek Time 없음, 디스크 스케줄링 불필요, 웨어 레벨링
비교: FCFS(단순/긴이동) vs SSTF(짧은이동/기아) vs SCAN(공정/예측) vs C-SCAN(균등)
연관: 파일 시스템, HDD, I/O, SCAN, SSD