2017-04-08 3 views
0

Hallo Ich bin Bachelor-Student der ComputerprogrammierungWas hat höhere Priorität bei MLFQ?

Ich nehme zur Betriebssystem-Klasse und ich habe Frage zu MLFQ Scheduling

Angenommen, MLFQ zwei bereit Warteschlangen hat, und sie verwenden beide Verfahren Scheduling-Round-Robin die von Zeit Quantum ist 3 Sekunden und 5 Sekunden jeweils

Natürlich Priorität von Q1 ist höher.

Angenommen, es gibt keinen bereiten Prozess in Q1, so dass der Prozess in Q2 auf der CPU zugewiesen werden kann.

jedoch ein Prozess, der IO fertig gebunden Q1 Burst zurückkehrt, und Prozess in CPU, die zu Q2 gehörte nicht getan wird (nur 3 Sekunden weg)

In dieser Situation Was passiert?

Ist der Prozess in Q1 jetzt der CPU vorenthalten?

Oder Prozess in der CPU jetzt (die von Q2 kommt) ist auf CPU zugeordnet, bis das Zeitquantum davon (noch 2 Sekunden benötigt) erreicht ist?

Vielen Dank für das Lesen.

Antwort

0

Der Prozess, der nach Abschluss I/O burst in Q1 ankommt, wird den Prozess in Q2 preempte. Zitiert aus den Betriebssysteme Prinzipien von Galvin, Gagne und Silberchatz:

Ein Prozess, der in Q1 ankommt, wird ein Prozess in Q2 präjudizieren. Ein Prozess in Q1 wird wiederum von einem Prozess, der in Q0 ankommt, ausgeschlossen (falls Q0 existiert).

SO, Jeder Prozess, der in einem higher priority Q ankommt, wird den Prozess von einer niedrigeren Priorität Q, auch wenn die Zeit Quanten von geringerem Prozess präjudizieren nicht erreicht werden. Ein Prozess bekommt die CPU, solange die ready Q der höheren Priorität leer ist.

Verwandte Themen