2014-10-24 3 views
0

JAVA에서 일부 스케줄링 알고리즘을 사용하고 있지만 인터넷에서 찾은 모든 예제가 내 문제에 응답하지 않으므로 다른 곳으로 물어볼 필요가 없습니다. 게시물 :라운드 로빈 (Round Robin) 스케줄링 알고리즘

무엇 내가 3의 양자 시간을 가지고, 프로세스 경우 :

Name - ArrivalTime - BurstTime 
P0 - 0 - 5 
P1 - 6 - 5 
P2 - 6 - 9 
P3 - 8 - 2 

그래서 내가 프로세스 P1이 도착하지 않은 경우는 어떻게 것을 포함하는 더 예,하지만 양자 끝을 발견했습니다? 그래서 P0는 3ms에서 실행되고, 여전히 2ms 남았습니다. 양자는 끝났고 P1은 도착하지 않았습니다. 프로그램이 P1을 기다리거나 P0을 완료하고 P1이 도착할 때까지 1ms 동안 대기 시간을 얻습니까?

답변

2

예약 알고리즘은 실행 대기중인 프로세스 만 예약합니다.

T0 : Waiting Process = [P0] ; Executed Process = P0(1-2-3) 
T3 : Waiting Process = [P0] ; Executed Process = P0(4-5) => P0 finished 
T5 : Waiting Process = [] ; Executed Process = Nothing 
T6 : Waiting Process = [P1, P2] ; Executed Process = P1(1-2-3) 
T9 : Waiting Process = [P2, P3, P1] ; Executed Process = P2(1-2-3) 
T12 : Waiting Process = [P3, P1, P2] ; Executed Process = P3(1-2) => P3 finished 
T14 : Waiting Process = [P1, P2] ; Executed Process = P1(4-5) => P1 finished 
T16 : Waiting Process = [P2] ; Executed Process = P2(4-5-6) 
T19 : Waiting Process = [P2] ; Executed Process = P2(7-8-9) => P2 finished 

가 T3에 만 P0 실행을 기다리고 있습니다, 그래서 그것은 시간의 다음 양자에 대해 실행됩니다

한 실행이 될 수 있습니다.

관련 문제