FCFS

먼저 도착한 프로세스를 먼저 처리하는 가장 단순한 비선점형 스케줄링 알고리즘입니다.

동작 방식

도착 순서대로 준비 큐에 삽입
→ 앞에서부터 순서대로 실행

예시

프로세스도착 시간실행 시간
P10ms24ms
P21ms3ms
P32ms3ms
P1[────────────────────────]P2[───]P3[───]
 0              24ms         27ms  30ms

대기 시간:
P1 = 0ms
P2 = 23ms
P3 = 25ms
평균 대기 시간 = (0 + 23 + 25) / 3 = 16ms

호위 효과 (Convoy Effect)

긴 작업(P1)이 앞에 오면
→ 짧은 작업(P2, P3)이 오래 기다려야 함

P2, P3는 3ms짜리인데 24ms를 기다려야 함

장단점

장점단점
구현 매우 간단호위 효과 발생
기아(Starvation) 없음평균 대기 시간 길어질 수 있음
공평한 순서 보장응답성 낮음
문맥 교환 비용 적음짧은 작업에 불리

다른 알고리즘과 비교

FCFSSJFRound Robin
기준도착 순서실행 시간시간 할당량
선점XXO
기아XOX
호위 효과O 발생XX
구현 난이도매우 쉬움보통보통

FCFS는 구현이 단순하지만 호위 효과로 인해 성능이 떨어질 수 있어, 실제 OS보다는 프린터 큐, 배치 처리 등 순서가 중요한 환경에서 활용됩니다.

CSLOG에서 보기