정보처리기사/프로그래밍 언어 활용

디스크 스케줄링(FCFS, SSTF, SCAN, LOOK)

glorypang 2025. 10. 10. 18:14
728x90
반응형
SMALL

0) 디스크 I/O 시간 구성 & 목표

  • 탐색 시간(Seek): 헤드를 목표 실린더로 움직이는 시간 ← 스케줄링이 여기를 줄이는 것이 핵심
  • 회전 지연(Rotational Latency): 목표 섹터가 헤드 아래로 올 때까지 기다림
  • 전송 시간(Transfer Time): 실제 데이터 읽고 쓰는 시간
    목표: 평균 헤드 이동 거리/탐색 시간 최소화, 공정성 확보, 기아 방지

1) 예시(공통)

  • 요청 큐(실린더 번호): 98, 183, 37, 122, 14, 124, 65, 67
  • 헤드 시작 위치: 53
  • 실린더 범위: 0 ~ 199
  • 초기 진행 방향: 증가 방향(위쪽) 가정

2) 알고리즘별 설명 + 결과

FCFS (First-Come First-Served)

  • 설명: 도착 순서대로 처리 → 단순·공정하지만 이동거리 큼, 컨보이 효과.
  • 순서: 53 → 98 → 183 → 37 → 122 → 14 → 124 → 65 → 67
  • 총 이동: 640

SSTF (Shortest Seek Time First)

  • 설명: 가장 가까운 트랙부터 → 평균 탐색시간 ↓, 하지만 기아 가능(멀리 있는 요청이 계속 밀림).
  • 순서: 53 → 65 → 67 → 37 → 14 → 98 → 122 → 124 → 183
  • 총 이동: 236

SCAN (엘리베이터)

  • 설명: 한 방향으로 쭉 가며 처리, 끝단까지 갔다가 반대 방향으로 전환. 편향↓, 공정성↑.
  • 순서: 53 → 65 → 67 → 98 → 122 → 124 → 183 → 199 → 37 → 14
  • 총 이동: 331

C-SCAN (순환 SCAN)

  • 설명: 한 방향으로만 서비스 후 끝단에서 0으로 점프(점프 이동은 실제 이동에 포함). 요청 간 지연 균일화에 유리.
  • 순서: 53 → 65 → 67 → 98 → 122 → 124 → 183 → 199 → 0 → 14 → 37
  • 총 이동: 382

LOOK

  • 설명: SCAN처럼 움직이되 요청이 있는 마지막 트랙까지만 갔다가 반전(끝단까지는 안 감).
  • 순서: 53 → 65 → 67 → 98 → 122 → 124 → 183 → 37 → 14
  • 총 이동: 299

C-LOOK

  • 설명: C-SCAN 변형. 한 방향으로 요청 있는 지점까지만 처리 후 가장 작은 요청으로 점프.
  • 순서: 53 → 65 → 67 → 98 → 122 → 124 → 183 → 14 → 37
  • 총 이동: 322
728x90
반응형
LIST