SJF 스케줄링
IT위키
더 많은 작업
(SJF에서 넘어옴)
- Shortest Job First
- 비선점 프로세스 스케줄링 기법 중 하나로, 짧은 작업부터 처리한다.
- Stallings 의 운영체제 교과서와 이를 따르는 강의는 같은 기법을 SPN(Shortest Process Next)이라 부른다. 예상 처리 시간이 가장 짧은 프로세스를 다음으로 고르는 비선점 방식이고, 선점형은 SRT(Shortest Remaining Time)이다[1][2]
- CPU 를 어느 프로세스에 줄지 정하는 스케줄링 기법이다. 메모리에서 내보낼 페이지를 고르는 페이지 교체 알고리즘이 아니며, 암호의 SPN 구조와는 약어만 같다
- 가장 적은 평균 대기 시간을 제공한다.
- 작업 시간이 큰 경우 오랫동안 대기해야 한다.
- 기아 현상이 생길 수 있다.
- 각 프로세스의 프로세스 요구시간을 미리 예측하기 어렵다.
네 프로세스가 차례로 큐에 도착했고 모두 대기 중일 때(도착 시간 0) 실행 시간이 다음과 같다.
| 프로세스 | 실행 시간 | 처리 순서 | 대기 시간 |
|---|---|---|---|
| P1 | 6 | 3 | 7 |
| P2 | 8 | 4 | 13 |
| P3 | 4 | 2 | 3 |
| P4 | 3 | 1 | 0 |
- 도착 순서와 관계없이 실행 시간이 가장 짧은 P4 가 가장 먼저 처리되고, P3 → P1 → P2 순으로 이어진다
- 평균 대기 시간은 (0 + 3 + 7 + 13) / 4 = 5.75 다. 같은 작업을 도착 순서(FIFO)로 처리하면 (0 + 6 + 14 + 18) / 4 = 9.5 다
- ↑ Jeffrey K. Hollingsworth, 「CMSC 412 Lecture 6: Scheduling」, University of Maryland, https://www.cs.umd.edu/~hollings/cs412/s02/lectures/lect06/lect06.pdf, 확인일: 2026-11-04.
- ↑ 「CS350 Scheduling」 강의 노트, University of Waterloo, https://student.cs.uwaterloo.ca/~cs350/S10/notes/_Scheduling.pdf, 확인일: 2026-11-04.