Comment cette formule qui calcule l'utilisation de l'UC de travail?
J'ai été donnée à cette question
Envisager un système en cours d'exécution de dix I/0-tâches limitées et un CpU de la tâche. Supposons que l'I/O-lié tâches d'émission et de l'opération d'e/S une fois pour toutes les millisecondes de calcul du CPU et que chaque opération d'e/S prend 10 millisecondes pour terminer. Supposons également que la commutation de contexte généraux est .1 milliseconde et que tous les processus sont longs exécuter des tâches de Décrire l'utilisation du PROCESSEUR pour le round-robin planificateur lorsque:
un. Le quantum de temps est de 1 milliseconde
b. Le quantum de temps est de 10 millisecondes
et j'ai trouvé la réponse pour elle
Le quantum de temps est de 1 milliseconde: quel que soit le processus qui est prévue, l'
planificateur engage 0,1 milliseconde de commutation de contexte coût pour chaque contexte de l'interrupteur.
Il en résulte une utilisation de l'UC 1/1.1 * 100 = 91%.
Le quantum de temps est de 10 millisecondes: Les I/O-lié tâches de subir un changement de contexte
après l'utilisation de seulement 1 milliseconde de l'quantum de temps. Le temps requis pour le cycle
à travers tout le processus est donc 10*1.1 + 10.1 (comme chaque I/O-lié tâche
exécute pour 1millisecond puis engager le changement de contexte de la tâche, alors que le CPU
lié tâche s'exécute pendant 10 millisecondes avant d'engager un changement de contexte). Le CPU
l'utilisation est donc 20/21.1 * 100 = 94%.
Ma seule question: comment est cette personne qui la formule pour l'Utilisation de l'UC? Je n'arrive pas à comprendre d'où il ou elle est l'obtention des numéros de 20/21.1 * 100 = 94%, et 1/1.1 * 100 = 91%.
OriginalL'auteur Austin Davis | 2013-03-11
Vous devez vous connecter pour publier un commentaire.
Pour le premier cas, chaque tâche utilise 1msec pour faire un travail et .1msec pour passer; ainsi, il est passé de 1 de 1,1 ms en faisant le travail.
Pour le second cas, il est similaire: de la 21.1 msec passé à passer par toutes les tâches, à seulement 20 de qui est en train de faire le travail réel.
OriginalL'auteur Scott Hunter
C'est la meilleure explication possible au problème ci-dessus :
http://jade-cheng.com/uh/coursework/ics-412/homework-4.pdf
OriginalL'auteur ShivaniDhanked
J'ai été en passant par la même question. c'est la façon dont je l'ai compris
Dans le premier cas , lorsque le quantum de temps est de 1 ms, si l'on considère le diagramme de gantt, toutes les I/O bound processus va venir (appelons p1-p10), suivie par p11 qui est liée à l'UC. donc un total de 10 changements de contexte dans 11 ms. donc, l'efficacité du travail effectué par la CPU, 11 ms n'est que de 11-(10*.1ms), soit 10 ms. donc, l'utilisation du CPU (10/11)*100= 90%
même manière, dans le 2e cas, il y aura 11 commutateurs(la dernière est de CPU, processus) si je considère 20.1 ms de temps. de manière efficace le temps cpu travaillé est de 20,1-(11*.1)= 19ms. donc, l'utilisation de l'UC (19/20.1)*100=94%
OriginalL'auteur Arun
J'étais confus au-delà de la croyance pour une raison sur cette question...après avoir regardé toutes les réponses ici, j'ai enfin compris à travers les regardant attentivement le jade-cheng lien donné par un autre utilisateur. Il n'y a pas de formule que j'ai pu trouver dans le livre (peut-être que je l'ai raté), mais en voici ma version de la réponse, dans une sorte de pseudo-formule de style:
AVERTISSEMENT: Ceci est probablement faux, mais peut-être que vous pouvez me montrer où je suis allé mal.
a)
[(10 I/O processus)(1ms) + (1 cpu)(1ms)] /[(10 I/O processus)(1ms) + (1 cpu)(1ms) + (10 changements de contexte)*(0,1 ms)] = 10/11 = 91%
b)
[(10 I/O processus)(1ms) + (1 cpu)(10ms)] /[(10 I/O processus)(1ms) + (1 cpu)(10ms) + (10 changements de contexte)*(0,1 ms)] = 20/21 = 95%
OriginalL'auteur Diomoid
pour la partie a
nous avons 11(10 i/o,1 cpu). Chacun prend 1 ms de temps d'exécution et de 0,1 ms temps de commutation.
Donc le temps total pris par un processus est: 10(I/o)*1(1 ms de cpu)+1(CPU délimitée processus)*1(1 ms de cpu)+11*0.1(total des temps de commutation)=12.1 ms.
Dans ce 12.1 ms, temps pendant lequel la cpu était occupé/exécution=10*1(Pour 10 I/O precoess)+1*1(pour 1 CPU)=10+1=11
Utilisation de l'UC=(11/12.1)*100=(1/1.1)*100=91%env
pour la partie b
Si quantum de temps est de 10 ms, mais I/O bound processus occupera seulement 1ms de cpu et ensuite, allez à bloquer l'état comme il a besoin d'I/O, et donc il est de 0.1 ms de la commutation de contexte.
Donc le temps total pris par I/O bound processus sera= 10*1
Mais CPU délimitée processus utilise toute sa 10ms de tranche de temps et de 0,1 ms de commutation. Donc ça prend du temps total de 1*10=10ms
Et le total des temps de changement de contexte=11*0.1=1,1 ms
À cet effet temps total=10+10+1.1=21.1 ms
et le temps pendant lequel la cpu était occupé/exécution=10*1+1*10=20
Utilisation de l'UC=(20/21.1)*100=94%env
OriginalL'auteur Mayank Arora