CPU 스케줄링 계산기
간트차트·평균 대기시간
최소 잔여시간(선점)
| 프로세스 | 도착시간 | 실행시간 | |
|---|---|---|---|
간트차트
| 프로세스 | 도착 | 실행 | 완료 | 반환시간 | 대기시간 |
|---|---|---|---|---|---|
| P1 | 0 | 8 | 17 | 17 | 9 |
| P2 | 1 | 4 | 5 | 4 | 0 |
| P3 | 2 | 9 | 26 | 24 | 15 |
| P4 | 3 | 5 | 10 | 7 | 2 |
| 평균 | 13.00 | 6.50 | |||
반환시간 = 완료시간 − 도착시간, 대기시간 = 반환시간 − 실행시간. 선점형(SRT·라운드로빈)은 실행 도중 다른 프로세스에 CPU를 넘길 수 있어 간트차트가 여러 조각으로 나뉩니다.
사용법
- 위에서 스케줄링 알고리즘(FCFS·SJF·SRT·우선순위·HRN·라운드로빈)을 고릅니다. 라운드로빈은 퀀텀도 입력합니다.
- 표에 프로세스별 도착시간·실행시간(우선순위 알고리즘은 우선순위까지)을 입력하고 '프로세스 추가'로 늘립니다.
- 간트차트와 프로세스별 완료·반환·대기시간, 평균값이 즉시 계산됩니다. 「결과 복사」로 담을 수 있습니다.
자주 묻는 질문
- Q. 반환시간과 대기시간은 어떻게 계산하나요?
- A. 반환시간(Turnaround) = 완료시간 − 도착시간이고, 대기시간(Waiting) = 반환시간 − 실행시간입니다. 즉 대기시간은 프로세스가 준비 큐에서 CPU를 받기까지 기다린 총 시간입니다. 표 맨 아래에 평균 반환시간과 평균 대기시간이 함께 나옵니다.
- Q. 선점형과 비선점형은 뭐가 다른가요?
- A. 비선점형(FCFS·SJF·우선순위·HRN)은 한 번 CPU를 잡으면 끝날 때까지 실행합니다. 선점형(SRT·라운드로빈)은 실행 도중에도 더 우선인 프로세스가 오거나 퀀텀이 끝나면 CPU를 넘겨줘, 간트차트가 여러 조각으로 나뉩니다.
- Q. 우선순위는 숫자가 큰 게 높은 건가요?
- A. 이 계산기는 숫자가 작을수록 우선순위가 높은 것으로 계산합니다(1순위가 가장 먼저). 정보처리기사 문제도 대부분 이 규칙을 따릅니다. HRN은 우선순위 = (대기시간 + 실행시간) / 실행시간으로 계산해 값이 큰 프로세스를 먼저 실행합니다.
- Q. HRN은 어떤 알고리즘인가요?
- A. HRN(Highest Response Ratio Next)은 SJF에서 긴 작업이 계속 밀리는 문제를 보완한 방식으로, 응답률 = (대기시간 + 실행시간) / 실행시간이 가장 큰 프로세스를 먼저 실행합니다. 오래 기다린 작업일수록 응답률이 높아져 공정해집니다.
이 도구에 틀린 정보가 있나요? 알려주세요.