CPU-Burst oder I/O-Burst

CPU-Burst oder I/O-Burst

Wenn ein aktuell ausgeführter Prozess mit einem I/O-Burst konfrontiert wird, erhält dann der nächste verfügbare Prozess den CPU-Burst oder wartet der Prozessor, bis der I/O-Burst des ersten Prozesses beendet ist, um mit der Ausführung des ersten Prozesses fortzufahren?

Wird dies auch davon beeinflusst, ob ein Algorithmus präemptiv oder nicht-präemptiv ist?

Danke!

Antwort1

Kurz gesagt: ja. Wenn bei einer CPU-gebundenen Aufgabe die E/A eingeschränkt wird, wird das Betriebssystem die Aufgabe neu planen, bis sie bereit ist, mehr CPU-Arbeit zu leisten. Das bedeutet, dass andere Prozesse (die Arbeit für die CPU zu erledigen haben) stattdessen die Zeit auf der CPU erhalten.

Um es ausführlicher zu beantworten: Dies war das erste Mal, dass ich auf diese speziellen Begriffe gestoßen bin. Ich konnte nur eine Handvoll Seiten finden, die es erwähnen, und es scheint sich eher um eine Optimierungsstrategie als um eine physische CPU- oder Betriebssystemfunktion zu handeln. Es handelt sich nicht um eine „Burst-Phase“ im Betriebssystem oder der CPU, die von Prozessen gemeinsam genutzt werden kann, sondern es ist einfach so, dass ein Prozess „burst“, wenn er in der einen oder anderen Domäne Arbeit zu erledigen hat. Indem Sie Ihren Arbeitsablauf optimieren, um das eine mehr als das andere zu erledigen, und Arbeit für das andere speichern, können Sie diese „Bursts“ der Arbeit effektiver gestalten.

Ob das Betriebssystem präemptiv oder nicht präemptiv ist, spielt daher keine Rolle. Es weiß lediglich, dass der Prozess entweder wartet oder bereit ist, loszulegen, und plant ihn entsprechend ein. Wenn ein Prozess Berechnungen durchführt und plötzlich versucht, eine Datei zu lesen, wird er angehalten und neu eingeplant, wenn die Daten verfügbar sind.

Der einzige Grund, warum diese „Bursts“ relevant sind, besteht darin, sicherzustellen, dass Sie die geplanten Zeitscheiben Ihres Betriebssystems effektiv nutzen. Wenn Sie viele I/O-Vorgänge in Ihre CPU-gebundene Aufgabe einstreuen, kommt es zu Verzögerungen und Sie verlieren möglicherweise einen Teil Ihrer geplanten Zeit beim Warten auf diese I/O-Vorgänge. Wenn Sie I/O-Vorgänge in „Bursts“ zusammenfassen, nutzt Ihr Prozess seine Zeit auf der CPU besser und erhält die volle Zeitscheibe.

verwandte Informationen