0

문제 : E를 통해라운드 로빈 스케줄링 : 모든 작업이 동시에 도착하면 어떻게됩니까?

다섯 일괄 작업 (A)는, 컴퓨터 센터에서 거의 같은 시간에 도착합니다. 그들은 실행 시간을 10, 6, 2, 4 및 8 일로 예측했습니다. 분. 그들의 (외부에서 결정된) 우선 순위는 각각 3, 5, 2, 1 및 4이며 5가 가장 높은 우선 순위입니다. 시간의 경과에 따라 평균 과정을 결정하십시오. . 프로세스 전환 오버 헤드를 무시하십시오. 라운드 로빈 스케줄링의 경우, 시스템이 멀티 프로그래밍 중이며 각 작업이 CPU의 공평한 분배를 얻는다 고 가정합니다. 모든 작업은 완전히 CPU에 묶여 있습니다.

솔루션 # 1 다음 솔루션은 this page에서 온다 :

를 라운드 로빈의 경우, 처음 10 분간, 각 작업은 CPU의 1/5 가져옵니다. 10 분이 끝나면 C가 끝납니다. 다음 8 시간 동안 분 동안 각 작업은 CPU의 1/4을 얻은 후 D 시간이 끝납니다. 그런 다음 나머지 세 작업 각각은 B가 완료 될 때까지 6 분 동안 CPU의 1/3을 얻습니다. 5 개의 작업의 완료 시간은 평균 22 분 동안 10, 18, 24, 28, 30입니다.

솔루션 # 다음과 같은 솔루션 (이 하나가 나에게 더 의미가) 다른 코넬 대학 here에서 오는 2 :

는 처리 시간이 시간이라는 것을 기억 작업이 도착하고 작업이 완료되는 사이에 이 경과합니다. 모든 작업이 시간 0에 도착한다고 가정하므로 처리 시간은 완료 될 때까지 시간이됩니다. (a) 라운드 로빈 : 아래의 표는 으로 나누어 져 있으며 각 작업 시간 간격 동안 작업이 처리됩니다. *는 해당 퀀텀 중에 작업이 완료되었음을 나타냅니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
A B C D E A B C* D E A B D E A B D* E A B E A B* E A E A E* A A* 

결과 다르다 : 첫 번째는 C 번째 C 8 분에 완료하는 반면, 예를 들어 10 분 후에 완료된다.

올바른 것은 무엇이며 그 이유는 무엇입니까? 나는 혼란 스럽다. 미리 감사드립니다!

+2

* 숙제 * 태그를 질문에 추가하십시오. Q2 ..에 관한 – thb

답변

1

1 : "공정한 분배"요구 사항은 실행중인 프로세스간에 시간이 균등하게 나뉘어져있어 특정 순서가 중요하지 않다고 생각합니다. 당신은 또한 이것을 양자가 너무 낮아서 특정 순서에 의해 도입 된 어떤 변화가 너무 작아 걱정할 필요가 없다고 생각할 수 있습니다.

Q2 : 위와 같이 시간을 고르게 나누면 모든 프로세스가 자신의 2 분을 얻는 데 10 분이 걸리고 C 점이 완료됩니다.

+0

모든 프로세스가 2 분이 경과 한 후 C가 완료된 후 C가 2 분이 경과 한 후 (8 분 후)가 아닌 경우 C가 완료되는 이유는 모든 프로세스가 2 분의 자체 프로세스를 갖기 때문에 10 분이 걸립니다. 모든 것이 순차적으로 진행되고 있습니다. C가 목록의 끝에있는 것처럼 소리를 내고 있습니다. –

+1

@ user1073400 : 1 개의 MICROSECOND 퀀텀을 상상해보십시오. 그런 다음, 순서에 관계없이 시간이 공정하게 나누어 져있는 한 C는 모든 다른 프로세스가 2- (1 MICROSECOND)에서 2 분 사이에 실행되면 완료됩니다. –

+0

나는 아직도 이유를 모른다. 코넬 대학 (Cornell University)에서 온라인으로 다른 솔루션을 찾았습니다.이 솔루션은 나에게 더 의미가 있으며 원래 게시물의 끝에 추가했습니다. 내 생각을 말해봐. –