CPU 스케줄링 계산기 (FCFS, SJF, SRTF, 라운드 로빈, 우선순위)
FCFS, SJF, SRTF, 라운드 로빈, 우선순위 스케줄링을 시뮬레이션합니다. 간트 차트, 완료·반환·대기·응답 시간, 평균값, CPU 사용률을 한 번에 구합니다.
반환 시간 = 완료 − 도착 · 대기 시간 = 반환 − 실행 · 응답 시간 = CPU를 처음 받은 시각 − 도착.
동점이면 먼저 도착한 프로세스, 그다음에는 먼저 적은 프로세스가 우선합니다.
| 프로세스 | 도착 | 실행 | 우선순위 | 완료 | 반환 | 대기 | 응답 |
|---|---|---|---|---|---|---|---|
| P1 | 0 | 8 | 3 | 17 | 17 | 9 | 0 |
| P2 | 1 | 4 | 1 | 5 | 4 | 0 | 0 |
| P3 | 2 | 9 | 4 | 26 | 24 | 15 | 15 |
| P4 | 3 | 5 | 2 | 10 | 7 | 2 | 2 |
| 알고리즘 | 평균 대기 | 평균 반환 | 평균 응답 |
|---|---|---|---|
| FCFS | 8.75 | 15.25 | 8.75 |
| SJF | 7.75 | 14.25 | 7.75 |
| SRTF | 6.5 | 13 | 4.25 |
| 라운드 로빈 (q = 2) | 12.75 | 19.25 | 2 |
| 우선순위 (비선점) | 7.75 | 14.25 | 7.75 |
| 우선순위 (선점) | 6.5 | 13 | 4.25 |
운영체제 수업과 시험에서는 프로세스 집합을 손으로 스케줄링하고 각 프로세스의 대기 시간과 반환 시간을 구하라는 문제가 나옵니다. 이 계산기는 대표적인 CPU 스케줄링 알고리즘인 FCFS, SJF, SRTF(선점형 SJF), 라운드 로빈, 선점/비선점 우선순위 스케줄링을 시뮬레이션해 간트 차트, 프로세스별 표, 평균값, 처리율, CPU 사용률을 보여 주고, 같은 입력에 대한 모든 알고리즘의 비교표도 만들어 줍니다.
사용 방법
- 한 줄에 프로세스 하나씩 이름, 도착 시간, 실행 시간, (우선순위 스케줄링이면) 우선순위를 입력합니다.
- 알고리즘을 고릅니다. 라운드 로빈이면 타임 퀀텀을 정합니다.
- 숫자가 작을수록 우선순위가 높은지, 클수록 높은지 정합니다.
- 간트 차트, 표, 평균값을 확인하고 두 번째 표에서 알고리즘을 비교합니다.
계산식
반환 시간 = 완료 − 도착 · 대기 시간 = 반환 − 실행 · 응답 시간 = 처음 실행 − 도착 · 사용률 = 실행한 시간 ÷ (마지막 완료 − 첫 도착)
비선점 알고리즘은 한번 시작한 프로세스를 끝까지 실행하고, SRTF와 선점형 우선순위는 프로세스가 도착할 때마다 다시 결정합니다. 라운드 로빈은 각 프로세스를 퀀텀 하나만큼만 실행하고 준비 큐의 맨 뒤로 보냅니다. 기본값으로는 퀀텀이 끝나는 순간 도착한 프로세스를 대부분의 교재처럼 선점된 프로세스보다 먼저 큐에 넣으며, 옵션으로 바꿀 수 있습니다. 동점이면 먼저 도착한 쪽, 그다음에는 먼저 적은 프로세스가 우선합니다. 문맥 교환 시간은 0으로 봅니다.
예시
샘플은 Silberschatz의 『Operating System Concepts』에 나오는 SRTF 예제입니다. P1(도착 0, 실행 8), P2(1, 4), P3(2, 9), P4(3, 5). 스케줄은 P1 0–1, P2 1–5, P4 5–10, P1 10–17, P3 17–26이고, 대기 시간은 9, 0, 15, 2이므로 평균 대기 시간은 6.5입니다. 같은 프로세스를 단순 FCFS로 처리하면 평균 8.75를 기다립니다.
자주 묻는 질문
평균 대기 시간이 가장 짧은 알고리즘은 무엇인가요?
실행 시간을 알고 있다면 SRTF(선점형 최단 작업 우선)가 평균 대기 시간 면에서 최적입니다. 실제 시스템은 실행 시간을 미리 알 수 없으므로 라운드 로빈이나 우선순위 방식을 씁니다.
응답 시간이란 무엇인가요?
도착한 순간부터 프로세스가 처음 CPU를 받을 때까지의 시간입니다. 라운드 로빈은 이 시간을 짧게 유지하므로 대화형 프로그램에 중요합니다.
교재의 라운드 로빈 답과 조금 다른 이유는 무엇인가요?
퀀텀이 끝나는 순간 정확히 도착한 프로세스를 선점된 프로세스의 앞에 넣는지 뒤에 넣는지는 교재마다 다릅니다. 수업과 같도록 옵션을 바꾸세요.
출처
최종 업데이트:
이 입력값이 담긴 페이지 주소: https://kakao.mobile/ko/tools/cpu-scheduling-simulator/
인용·퍼가기
kakaoCalc. (2026, November 8). CPU 스케줄링 계산기 (FCFS, SJF, SRTF, 라운드 로빈, 우선순위). https://kakao.mobile/ko/tools/cpu-scheduling-simulator/
“CPU 스케줄링 계산기 (FCFS, SJF, SRTF, 라운드 로빈, 우선순위).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/cpu-scheduling-simulator/.