SpracheEnglishDeutsch
Industrieelektronik

Wartezeit

Englisch: waiting time

Gesamte Zeit, die ein Prozess in einer Warteschlange verbringt, bevor er die CPU erreicht.

Wartezeit: Verzögerung in der Warteschlange vor der CPU-Ausführung

In einem Multitasking-Betriebssystem ist die Wartezeit das Zeitintervall zwischen dem Eintritt eines Prozesses in die Ready-Queue und dem Moment, in dem der CPU-Scheduler ihm tatsächlich Prozessorzyklen zuteilt. Während dieser Phase ist der Prozess ausführungsbereit, sein Kontext ist im Speicher geladen und seine Anweisungen sind verfügbar, aber die CPU ist mit anderen Aufgaben beschäftigt. Dies unterscheidet sich von der Ausführungszeit, also der Zeit, die der Prozess tatsächlich auf der CPU verbringt.

Die Wartezeit sammelt sich in Systemen an, in denen viele Prozesse um eine einzelne CPU oder eine begrenzte Anzahl von Cores konkurrieren. Bei der Stapelverarbeitung kann ein Job Stunden lang in der Warteschlange warten, bevor der Scheduler ihn aufnimmt. In Echtzeitsystemen ist die Wartezeit eine kritische Randbedingung: Ein sicherheitskritischer Prozess darf nicht so lange warten, dass er seine Frist verfehlt. In interaktiven Systemen führt übermäßige Wartezeit zu spürbaren Verzögerungen oder Unzugänglichkeit aus Sicht des Benutzers.

Messung und Scheduler-Auswirkung

Die Wartezeit wird in Millisekunden, Sekunden oder CPU-Zyklen gemessen, je nach Kontext. Die durchschnittliche Wartezeit über alle Prozesse hinweg ist eine wichtige Leistungskennzahl zur Bewertung von Scheduling-Algorithmen. Verschiedene Scheduler führen zu unterschiedlichen Wartezeiten: First Come First Served (FCCS) erzeugt lange durchschnittliche Wartezeiten, wenn kurze Jobs hinter langen anstehen, während Algorithmen wie Shortest Job First (SJF) oder Round Robin die Wartezeit durch Priorisierung kurzer Aufträge oder faire Rotation unter den Bewerbern minimieren.

Wartezeit ist nicht durch I/O-Verzögerungen, Page Faults oder Systemaufrufe verursacht (diese werden typischerweise als Block Time oder Sleep Time bezeichnet). Sie ergibt sich rein aus der Scheduler-Arbitrierung. In Multiprozessor-Systemen kann die Wartezeit durch verfügbare leerlaufende Cores oder durch Load Balancing über Cores hinweg reduziert werden. In Systemen mit Thread-Prioritätsebenen erleben hochpriorisierte Threads kürzere Wartezeiten als niedrigpriorisierte.

Systemdesigner überwachen die Wartezeit mit Kernel-Profilern und Tracing-Tools. Übermäßige Wartezeit deutet entweder auf CPU-Überbelastung, schlechte Scheduler-Tuning oder Prozessen hin, denen die falsche Prioritätsklasse zugewiesen wurde. In echten harten Echtzeit-Embedded-Systemen wird die Wartezeit während des Entwurfs vorhergesagt und begrenzt; eine Verletzung dieser Grenze ist ein Fehler.

Mehr aus Industrial electronics

Alle ansehen

Get the Word of the Day

One industrial term every day, with the trade it belongs to and why it is worth knowing. No advertising.