FCFS 디스크 스케줄링 방식 설명

1. 개념 한줄 요약

FCFS 디스크 스케줄링은 디스크 입출력 요청을 먼저 들어온 순서대로 처리하는 가장 기본적인 디스크 접근 관리 방식이다.

2. 쉽게 풀어쓴 설명

컴퓨터에서 파일을 읽거나 저장할 때 저장장치(HDD 또는 SSD)는 디스크 입출력 작업을 수행해야 한다. 여러 프로그램이 동시에 데이터를 요청하면 디스크는 모든 요청을 한 번에 처리할 수 없기 때문에 일정한 순서를 정해 작업을 진행한다.

이때 사용되는 방법 중 하나가 바로 FCFS(First Come First Served) 방식이다. 이름 그대로 먼저 요청된 작업을 먼저 처리하는 구조다.

예를 들어 여러 프로그램이 디스크 접근 요청을 보내면 운영체제는 이 요청을 대기열에 저장하고 가장 먼저 들어온 요청부터 순서대로 처리한다.

쉽게 말해 줄을 선 순서대로 작업을 처리하는 디스크 관리 방식이라고 이해하면 된다.

3. 구조·원리 설명

✔ 디스크 요청 대기열 구조

디스크 입출력 요청이 발생하면 운영체제는 해당 요청을 디스크 대기열에 저장한다. 대기열에는 여러 프로그램이 요청한 작업이 순서대로 등록된다.

이 구조에서 디스크 스케줄러는 대기열에 있는 요청 중 하나를 선택해 디스크 접근 작업을 수행한다.

✔ FCFS 동작 원리

FCFS 방식은 대기열의 순서를 그대로 유지하며 요청을 처리한다. 즉, 가장 먼저 들어온 요청이 가장 먼저 실행된다.

기본적인 처리 과정은 다음과 같다.

① 프로그램에서 디스크 접근 요청 발생
② 요청이 디스크 대기열에 저장
③ 가장 먼저 들어온 요청 선택
④ 디스크 헤드 이동 후 작업 수행
⑤ 다음 요청 처리

이 과정은 요청이 처리될 때마다 반복된다.

✔ 디스크 헤드 이동과 성능 관계

HDD 저장장치에서는 디스크 헤드가 물리적으로 이동하면서 데이터를 읽거나 쓴다. FCFS 방식에서는 요청 순서만 고려하기 때문에 디스크 헤드 이동 거리가 길어질 수 있다.

예를 들어 디스크 요청 위치가 서로 멀리 떨어져 있으면 헤드가 디스크를 계속 이동해야 하므로 처리 시간이 늘어날 수 있다.

✔ 스케줄링 알고리즘 비교 기준

디스크 스케줄링 알고리즘은 다음과 같은 요소에 영향을 받는다.

  • 디스크 헤드 이동 거리
  • 요청 대기 시간
  • 전체 시스템 처리 효율

FCFS는 구조가 단순하지만 이러한 요소를 최적화하지는 않는다.

4. 예시

① 파일 읽기 요청 예시

여러 프로그램이 동시에 파일을 읽으려고 하면 요청이 발생한 순서대로 디스크 접근이 이루어진다.

② 서버 환경 예시

서버에서 여러 사용자 요청이 동시에 발생할 경우 디스크 요청이 대기열에 저장되고 순서대로 처리된다.

③ HDD 환경 예시

디스크 헤드가 여러 위치를 오가면서 데이터를 읽는 과정에서 요청 순서에 따라 이동 거리가 달라질 수 있다.

5. 주의점

❗ 디스크 헤드 이동 증가

요청 순서만 고려하기 때문에 디스크 헤드 이동이 많아질 수 있다.

❗ 평균 대기 시간 증가

일부 작업은 긴 대기 시간을 겪을 수 있다.

❗ 효율성 제한

성능 최적화를 고려하지 않는 단순한 방식이다.

❗ 다른 알고리즘 존재

현대 시스템에서는 SSTF나 SCAN 같은 더 효율적인 디스크 스케줄링 방식이 사용되기도 한다.

6. 요약 정리

FCFS 디스크 스케줄링은 디스크 접근 요청을 발생 순서대로 처리하는 가장 기본적인 스케줄링 방식이다. 구현이 단순하고 공정성을 유지할 수 있지만 디스크 헤드 이동 거리나 처리 효율을 고려하지 않는 구조이기 때문에 성능 측면에서는 한계가 있을 수 있다. 이러한 이유로 실제 시스템에서는 상황에 따라 다른 디스크 스케줄링 알고리즘과 함께 사용되거나 대체되기도 한다.

error: Content is protected !!