
정답
FCFS에서는 PID P7이 실행 중이다. SJF에서는 t1+10 ms 시점에 P5가 실행 중이며, 종료 시각은 t0+105 ms이다. 또한 SJF에서 t1+25 ms 시점에 실행 중인 프로세스는 P4이다.
출제 의도
이 문항은 프로세스 상태 전이와 준비 큐·대기 큐의 의미를 이해하고, FCFS와 SJF CPU 스케줄링 알고리즘에 따라 실행 순서와 종료 시각을 정확히 계산할 수 있는지를 평가한다.
풀이 과정
주어진 시점은 t1 = t0 + 100 ms이며, 이 시점에서 추가로 생성되는 프로세스는 없다. 상태 전이 및 스케줄링에 따른 오버헤드는 모두 0 ms로 가정한다.
1. FCFS 스케줄링
FCFS에서는 준비 큐에 도착한 순서(생성 시각 기준)대로 CPU를 할당한다. t1 시점에 준비 큐에 있는 프로세스는 P2(t0+5), P3(t0+20), P4(t0+35), P7(t0+80) 순이다.
t1 시점 직전에 CPU를 사용 중이던 프로세스 P5는 잔여 CPU 버스트가 5 ms이므로 t0+105 ms에 종료된다. 따라서 t1~t1+5 ms 동안 P5가 계속 실행되고, 그 다음 가장 먼저 도착한 준비 큐의 프로세스인 P7이 CPU를 할당받는다.
따라서 FCFS에서 t1+10 ms 시점에 실행 중인 프로세스는 P7이다.
2. SJF(Shortest Job First) 스케줄링
SJF에서는 CPU 할당 시점에 준비 큐에 있는 프로세스 중 잔여 CPU 버스트 시간이 가장 짧은 프로세스를 선택한다.
t1 시점에서 CPU를 사용 중인 P5의 잔여 CPU 버스트는 5 ms로, 준비 큐의 다른 프로세스들(P7:15, P3:30, P4:45, P2:50 ms)보다 가장 짧다. 따라서 t1 이후에도 P5는 계속 실행된다.
P5는 t0+105 ms에 종료되므로, t1+10 ms 시점에도 여전히 P5가 실행 중이다. 이때 종료 시각은 t0+105 ms이다.
3. SJF에서 t1+25 ms 시점
P5가 종료된 이후(t0+105 ms), 준비 큐에는 P7(15 ms), P3(30 ms), P4(45 ms), P2(50 ms)가 남아 있다.
이 중 가장 짧은 CPU 버스트를 가진 P7이 먼저 실행되어 t0+120 ms에 종료된다. 이후 남은 프로세스 중 가장 짧은 것은 P3(30 ms)이지만, t1+25 ms = t0+125 ms 시점에는 이미 P7이 종료되고 P4가 실행 중이 된다.
따라서 SJF에서 t1+25 ms 시점에 실행 중인 프로세스는 P4이다.
<풀이가 부정확할 수 있으니 반드시 교차검증 확인 바랍니다.>