1. 개념 한줄 요약
SSTF 스케줄링은 현재 디스크 헤드 위치에서 가장 가까운 요청을 먼저 처리하는 디스크 스케줄링 알고리즘이다.
2. 쉽게 풀어쓴 설명
컴퓨터에서 파일을 읽거나 저장할 때 저장장치는 데이터를 디스크에서 찾아야 한다. 특히 하드디스크(HDD)는 데이터를 읽기 위해 디스크 플래터 위를 이동하는 헤드가 필요한데, 이 이동 과정에 시간이 걸린다.
여러 프로그램이 동시에 디스크 작업을 요청하면 운영체제는 어떤 요청을 먼저 처리할지 결정해야 한다. 이때 사용하는 방법 중 하나가 SSTF 스케줄링이다. SSTF는 Shortest Seek Time First의 약자로, 현재 디스크 헤드 위치에서 가장 가까운 요청을 먼저 처리하는 방식이다.
이 방식은 디스크 헤드 이동 거리를 줄여 전체 데이터 처리 속도를 향상시키는 것을 목표로 한다.
3. 구조/원리 설명
① 디스크 접근 구조
하드디스크는 데이터를 읽기 위해 물리적인 헤드 이동이 필요하다.
✔ 디스크 플래터 회전
✔ 읽기/쓰기 헤드 이동
✔ 특정 트랙 데이터 접근
이 과정에서 헤드가 이동하는 시간이 디스크 접근 속도에 큰 영향을 미친다.
② 디스크 스케줄링 필요성
여러 프로그램이 동시에 디스크 요청을 보내면 요청 순서를 효율적으로 관리해야 한다.
✔ 여러 입출력 요청 발생
✔ 디스크 접근 순서 결정
✔ 전체 처리 시간 최적화
이 역할을 수행하는 것이 디스크 스케줄링 알고리즘이다.
③ SSTF 알고리즘 동작 원리
SSTF 알고리즘은 현재 헤드 위치를 기준으로 가장 가까운 트랙의 요청을 선택한다.
✔ 현재 헤드 위치 확인
✔ 가장 가까운 요청 선택
✔ 해당 요청 처리 후 위치 갱신
이 과정을 반복하면서 디스크 요청을 처리한다.
④ 헤드 이동 거리 최적화
SSTF 방식의 핵심 목적은 헤드 이동 거리를 최소화하는 것이다.
✔ 가까운 요청 우선 처리
✔ 평균 탐색 시간 감소
✔ 디스크 접근 효율 향상
이 구조는 전체 시스템 입출력 성능을 개선하는 데 도움이 된다.
⑤ SSTF 성능 특징
SSTF 알고리즘은 FIFO 방식보다 평균 탐색 시간이 짧은 경우가 많다.
✔ 디스크 이동 거리 감소
✔ 평균 응답 시간 개선
✔ 효율적인 입출력 처리
특히 디스크 요청이 많은 환경에서 성능 차이가 크게 나타날 수 있다.
⑥ 기아(Starvation) 문제 가능성
SSTF는 가까운 요청을 계속 선택하기 때문에 먼 위치의 요청이 오랫동안 처리되지 않을 수 있다.
✔ 가까운 요청 반복 처리
✔ 먼 요청 처리 지연
✔ 특정 요청 장기 대기 가능
이 현상을 기아(Starvation) 문제라고 한다.
4. 예시
디스크 헤드가 트랙 50 위치에 있고 요청이 45, 60, 90 위치에서 발생했다고 가정해 보자. SSTF 알고리즘은 현재 위치에서 가장 가까운 45를 먼저 처리하고 이후 60, 90 순서로 작업을 진행할 가능성이 높다.
이 방식은 디스크 헤드 이동 거리를 최소화해 전체 처리 시간을 줄이는 데 도움이 된다.
대규모 데이터 처리 시스템이나 서버 환경에서는 디스크 스케줄링 방식이 성능에 중요한 영향을 미친다.
5. 주의점
❗ SSTF 알고리즘은 항상 공정한 방식은 아니다.
특정 위치에 요청이 계속 발생하면 다른 요청이 장시간 대기할 수 있다.
또한 디스크 접근 패턴에 따라 성능 향상 효과가 제한될 수도 있다.
이러한 문제를 해결하기 위해 SCAN, C-SCAN 같은 다른 스케줄링 알고리즘이 함께 사용되기도 한다.
6. 요약 정리
SSTF 스케줄링은 현재 디스크 헤드 위치에서 가장 가까운 요청을 먼저 처리하는 디스크 관리 알고리즘이다. 이 방식은 헤드 이동 거리를 줄여 평균 탐색 시간을 개선하는 장점이 있지만 특정 요청이 오랫동안 대기하는 기아 문제도 발생할 수 있다. SSTF 구조를 이해하면 운영체제의 디스크 입출력 관리 방식과 저장 장치 성능 특성을 보다 명확하게 파악할 수 있다.