![[3일차] 2025 정보처리산업기사 운영체제 – 디스크 스케줄링 알고리즘 (FCFS, SSTF, SCAN, CSCAN) 1 정보처리산업기사 운영체제](https://i0.wp.com/jupocket.com/wp-content/uploads/2025/05/image.png?resize=492%2C492&ssl=1)
정보처리산업기사, 운영체제는 프로세스뿐 아니라 입출력(I/O) 요청도 효율적으로 처리해야 한다. 특히 하드디스크는 탐색 시간(Seek Time) 이 전체 성능에 큰 영향을 주기 때문에, 요청 순서를 최적화하는 디스크 스케줄링(Disk Scheduling) 알고리즘이 사용된다.
이번 학습에서는 디스크 스케줄링의 기본 원리와 시험에 자주 등장하는 네 가지 알고리즘을 비교한다.
정보처리산업기사 1개월 단기 과정 스케줄을 확인하고 싶은분들은 아래글을 이용바랍니다.
1. 디스크 스케줄링 개요
1) 기본 용어
| 용어 | 설명 |
|---|---|
| 탐색시간 (Seek Time) | 헤드가 해당 트랙으로 이동하는 시간 |
| 회전지연 (Rotational Delay) | 디스크가 해당 섹터로 회전할 때까지의 대기 시간 |
| 전송시간 (Transfer Time) | 실제 데이터가 전송되는 시간 |
실기에서는 주로 “탐색 거리(헤드 이동 거리)” 계산 문제가 출제된다.
2. 주요 알고리즘 비교
| 알고리즘 | 동작 방식 | 특징 | 단점 |
|---|---|---|---|
| FCFS (First Come First Served) | 요청 도착 순서대로 처리 | 단순, 공정 | 탐색 거리 비효율적 |
| SSTF (Shortest Seek Time First) | 현재 헤드에서 가장 가까운 요청 우선 | 평균 탐색거리 감소 | 기아(Starvation) 가능 |
| SCAN (엘리베이터 알고리즘) | 헤드가 한 방향으로 이동하며 요청 처리 | 균형 잡힌 처리 | 끝단 요청 지연 |
| CSCAN (Circular SCAN) | 한 방향으로만 이동 후 다시 처음으로 복귀 | 응답 시간 균일 | 역방향 이동 시 비효율 |
3. 예시 문제
디스크 요청 큐: 98, 183, 37, 122, 14, 124, 65, 67
헤드 초기 위치: 53
디스크 트랙 범위: 0~199
1) FCFS (First Come First Served)
처리 순서: 53 → 98 → 183 → 37 → 122 → 14 → 124 → 65 → 67
이동 거리 계산
| 구간 | 이동 거리 |
|---|---|
| 53→98 | 45 |
| 98→183 | 85 |
| 183→37 | 146 |
| 37→122 | 85 |
| 122→14 | 108 |
| 14→124 | 110 |
| 124→65 | 59 |
| 65→67 | 2 |
| 합계 | 640 |
총 이동 거리: 640 트랙
2) SSTF (Shortest Seek Time First)
처리 순서: 53 → 65 → 67 → 37 → 14 → 98 → 122 → 124 → 183
이동 거리 합계:
= 12 + 2 + 30 + 23 + 84 + 24 + 2 + 59 = 236 트랙
특징: 평균 탐색 시간이 크게 감소하지만,
거리가 먼 요청은 계속 밀릴 수 있어 기아(Starvation) 가 발생할 수 있다.
3) SCAN (엘리베이터 알고리즘)
엘리베이터가 위층으로 쭉 올라가며 중간층 요청을 처리한 뒤,
맨 위층까지 갔다가 다시 내려오며 남은 요청을 처리하는 방식이에요.
즉, 한 방향으로 끝까지 이동했다가 반대 방향으로 전환합니다.
엘리베이터가 1층에서 10층까지 올라가면서 사람을 태운 후, 다시 1층으로 내려오며 태움.
→ 양방향으로 이동.
SCAN 동작 순서
- 현재 헤드 위치 53
- 상승 방향(오른쪽) 으로 이동 시작
- 오른쪽에 있는 요청 처리: 65, 67, 98, 122, 124, 183
- 끝까지 갔다가 (199까지 간다고 가정), 반대 방향으로 전환
- 왼쪽 요청(37, 14) 처리
SCAN 처리 순서
53 → 65 → 67 → 98 → 122 → 124 → 183 → 199 → 37 → 14
이동 거리 계산
| 구간 | 계산 | 이동거리 |
|---|---|---|
| 53→199 | 199 – 53 | 146 |
| 199→37 | 199 – 37 | 162 |
| 37→14 | 37 – 14 | 23 |
| 합계 | 331 |
즉,
- 오른쪽으로 53→199 (146)
- 끝에 닿은 후 왼쪽으로 199→37→14 (162 + 23)
- 총 이동 거리 = 146 + 162 + 23 = 331
이동 방향이 양쪽(왕복) 이므로 총 이동이 길어집니다.
4) CSCAN (Circular SCAN)
SCAN은 왕복이지만, CSCAN은 한쪽 방향만 순환 이동이에요.
즉, 맨 끝까지 갔다가 헤드를 0으로 순간 복귀한 뒤 같은 방향으로 다시 진행합니다.
엘리베이터가 1층에서 10층까지 올라간 뒤,다시 1층으로 순간 이동해서 또 위로만 올라감.
→ 한 방향만 반복.
CSCAN 동작 순서
- 현재 위치 53
- 오른쪽(상승) 방향으로 이동: 65, 67, 98, 122, 124, 183
- 끝(199) 까지 이동 후,
- 반대편(0) 으로 돌아와 왼쪽 요청(14, 37) 처리
CSCAN 처리 순서
53 → 65 → 67 → 98 → 122 → 124 → 183 → 199 → 0 → 14 → 37
이동 거리 계산
| 구간 | 계산 | 이동거리 |
|---|---|---|
| 53→199 | 199 – 53 | 146 |
| 199→0 (순환) | 199 – 0 | 199 |
| 0→37 | 37 – 0 | 37 |
| 합계 | 382 |
총 이동 거리 = 146 + 199 + 37 = 382
SCAN vs CSCAN 핵심 비교
| 구분 | SCAN | CSCAN |
|---|---|---|
| 이동 방향 | 양방향 (왕복형) | 단방향 (순환형) |
| 이동 순서 | 끝까지 갔다가 반대 방향 이동 | 끝까지 갔다가 0으로 복귀 후 다시 같은 방향 |
| 총 이동 거리(예시) | 331 | 382 |
| 응답 시간 | 중간 요청은 빠름 | 전체 응답 시간 균등 |
| 특징 | 왕복형 엘리베이터 | 원형 순환형 엘리베이터 |
👉 SCAN이 왕복 이동이라 더 효율적,
CSCAN은 일정 응답시간을 보장하지만 총 이동거리가 더 김.
4. 시각적 비교 (요약표)
| 알고리즘 | 처리 순서(간략) | 총 이동 거리 |
|---|---|---|
| FCFS | 요청 순서 그대로 | 640 |
| SSTF | 가까운 요청 우선 | 236 |
| SCAN | 53→199→14 | 331 |
| CSCAN | 53→199→0→37 | 382 |
5. 간트 차트 예시
![[3일차] 2025 정보처리산업기사 운영체제 – 디스크 스케줄링 알고리즘 (FCFS, SSTF, SCAN, CSCAN) 2 정보처리산업기사 [3일차] 2025 정보처리산업기사 운영체제 – 디스크 스케줄링 알고리즘 (FCFS, SSTF, SCAN, CSCAN)](https://i0.wp.com/jupocket.com/wp-content/uploads/2025/10/image-8.png?resize=593%2C180&ssl=1)
6. 결론
디스크 스케줄링은 탐색 거리 최소화와 응답 시간 균형이 핵심이다.
CPU 스케줄링과 유사하지만, 헤드 이동 방향과 물리적 거리를 고려한다는 점이 다르다.
시험에서는 다음 유형이 자주 출제된다.
- “헤드 이동 거리 계산 문제” (FCFS, SSTF)
- “SCAN / CSCAN의 이동 방향 차이”
- “기아(Starvation) 발생 여부” 판단 문제
다음 학습 – 파일 관리
다음 학습에서는 운영체제의 파일 관리(File System) 를 다룬다. 디렉터리 구조, 파일 할당 방식, FAT·inode·저널링(Journaling) 개념 등을 함께 정리한다.