본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(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 다
  1. ↑ 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.
  2. ↑ 「CS350 Scheduling」 강의 노트, University of Waterloo, https://student.cs.uwaterloo.ca/~cs350/S10/notes/_Scheduling.pdf, 확인일: 2026-11-04.