FCFS 스케줄링
IT위키
더 많은 작업
(FCFS에서 넘어옴)
FCFS 스케줄링(First Come First Served, 선입선처리, FIFO 스케줄링)은 준비 큐에 먼저 도착한 프로세스에게 먼저 CPU 를 주고, 그 프로세스가 끝나거나 스스로 CPU 를 내놓을 때까지 빼앗지 않는 비선점 프로세스 스케줄링 기법이다.
실행 시간이 긴 프로세스가 먼저 오면 뒤의 짧은 프로세스들이 모두 오래 기다린다. 이를 호위 효과(convoy effect)라 한다.[2]
P1(실행 24), P2(3), P3(3)이 동시에 도착했을 때
- P1, P2, P3 순서 - 대기 시간 0, 24, 27, 평균 (0 + 24 + 27) / 3 = 17
- P2, P3, P1 순서 - 대기 시간 0, 3, 6, 평균 (0 + 3 + 6) / 3 = 3
같은 작업이라도 순서만으로 평균 대기 시간이 다섯 배 넘게 차이 난다. 짧은 작업을 먼저 하면 평균 대기 시간이 가장 작아진다는 것이 SJF 스케줄링의 출발점이다.
- ↑ John T. Bell, 「Operating Systems Course Notes - CPU Scheduling」, University of Illinois at Chicago, https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/6_CPU_Scheduling.html, 확인일: 2026-11-04.
- ↑ Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau, 「Scheduling: Introduction」, Operating Systems: Three Easy Pieces, https://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched.pdf, 확인일: 2026-11-04.
- ↑ Silberschatz, Galvin, Gagne, 「Operating System Concepts 9th Edition - Chapter 6: CPU Scheduling」 강의 슬라이드, https://www.os-book.com/OS9/slide-dir/PDF-dir/ch6.pdf, 확인일: 2026-11-04.