TIL 디스크 스케줄링

정예서·2026년 8월 23일

My_TIL

목록 보기
21/23

디스크 스케줄링 정리

오늘은 디스크 스케줄링의 대표적인 알고리즘인 FCFS, SSTF, SCAN, C-SCAN을 문제를 직접 풀면서 학습했다.

1. FCFS (First Come First Served)

요청이 들어온 순서 그대로 처리하는 방식이다.

예를 들어 시작 위치가 53이고 Queue가 25, 130, 10이라면:

53 → 25 → 130 → 10

각 요청까지의 이동거리를 계산하여 총 헤드 이동 거리를 구한다.

핵심: Queue 순서 그대로


2. SSTF (Shortest Seek Time First)

현재 헤드 위치에서 가장 가까운 요청부터 처리하는 방식이다.

예를 들어 현재 위치가 53이라면 각 요청과의 거리를 비교해서 가장 가까운 요청을 선택한다.

53 → 55

이후 현재 위치가 55가 되었으므로 다시 남은 요청들과의 거리를 비교한다.

⚠️ 동률 주의

현재 위치가 55이고 남은 요청이 25, 85라면:

  • 55 → 25 = 30
  • 55 → 85 = 30

둘의 거리가 같기 때문에 동률(tie)이 발생한다.

따라서 문제나 수업에서 동률 처리 기준을 제시했는지 확인해야 한다. 별도의 기준이 없다면 어느 쪽을 먼저 처리할지 답이 하나로 고정되지 않을 수 있다.
거리가 같을 때는 헤드의 물리적 무리를 줄이기 위해 기존 진행 방향을 유지하는 것이 기본 표준 규칙입니다..

핵심: 현재 위치에서 가장 가까운 요청을 선택 + 동률 처리 규칙 확인


3. SCAN

엘리베이터처럼 한 방향으로 이동하면서 요청을 처리하고, 디스크의 끝까지 이동한 후 방향을 바꾸는 방식이다.

예를 들어 53에서 시작하고 0 방향으로 먼저 이동한다면:

53 → 18 → 9 → 0 → 72 → 120 → ...

여기서 중요한 것은 요청 중 가장 작은 값인 9까지만 가는 것이 아니라 디스크의 끝인 0까지 이동한다는 것이다.

반대로 199 방향이라면 199까지 이동한 후 방향을 바꾼다.

핵심: 한 방향 → 끝까지 → 방향 전환


4. C-SCAN

SCAN과 비슷하지만 한 방향으로만 요청을 처리한다.

예를 들어 53에서 0 방향으로 시작한다면:

53 → 18 → 9 → 0 → 199 → 185 → 150 → ...

0에 도착하면 방향을 바꾸어 처리하는 것이 아니라 반대쪽 끝인 199로 이동한 후 다시 같은 방향으로 처리한다.

핵심: 한 방향 → 끝까지 → 반대쪽 끝으로 이동 → 다시 같은 방향


5. 네 가지 알고리즘 비교

알고리즘핵심
FCFS요청 순서대로 처리
SSTF현재 위치에서 가장 가까운 요청부터
SCAN한 방향으로 끝까지 이동 후 방향 전환
C-SCAN한 방향으로 끝까지 이동 후 반대쪽 끝으로 이동

오늘의 핵심

디스크 스케줄링 문제는 단순히 처리 순서만 찾는 것이 아니라 각 이동 거리를 계산하여 총 이동 거리까지 구하는 것이 중요하다.

특히 SCAN과 C-SCAN은 디스크의 끝(0 또는 199)을 반드시 고려해야 하며, SSTF에서 같은 거리가 나오는 경우 동률 처리 기준을 확인해야 한다.

profile
미림마이스터고 재학중인 고3 개발자 정예서입니다.

3개의 댓글

comment-user-thumbnail
2026년 8월 25일

수행평가 잘 보셨나여?

2개의 답글