/ / Comprendre la planification de la file d'attente de commentaires multiniveau - tâches planifiées, planification

Comprendre la planification de la file d'attente de commentaires multiniveaux - tâches planifiées, planification

J'essaie de comprendre la planification de la file d'attente de commentaires multiniveaux et je suis tombé sur l'exemple suivant tiré de William Stallings Systèmes d'exploitation internes et Principles Design (7ème édition).

J'ai eu ce processus:

entrer la description de l'image ici

Et le résultat dans le livre est le suivant: entrer la description de l'image ici

Je crois que je suis en train de faire les premiers pas mais quand je peux traiter E Temps de calcul mon prochain processus est B ne pas D comme dans l'exemple de livre.

Je ne peux pas comprendre s'il y a n RQ et après chaque fois qu'un processus obtient "le temps CPU, il est rétrogradé à un temps moins prioritaire RQ ou si, par exemple, traiter A est dans RQ1 et il n'y a pas de processus à la tour RQ, le processus est promu dans cette file d'attente (c'est ce que je fais).

Quelqu'un peut-il m'expliquer comment, à l'exemple ci-dessus, après E est traité, D obtient le temps de calcul et les E (et pas B) est servi?

Réponses:

1 pour la réponse № 1

L’algorithme de retour multiniveau sélectionne toujours le premier travail de la file d’attente la plus basse (c’est-à-dire la file d’attente avec la priorité la plus élevée) qui n’est pas vide.

Lorsque le travail E quitte RQ1 (heure 9), le travail D est dans la file d'attente RT2 mais le travail B dans RT3. Ainsi, B est exécuté. Veuillez considérer la figure modifiée, où les nombres rouges indiquent la file d'attente dans laquelle le travail est exécuté. faire la queue

Comme vous pouvez le constater, le poste B a déjà quitté RT2 à l'heure 9 (plus précisément, il quitte RT2 à l'heure 6), alors que le poste D vient d'entrer.