2016-12-20 3 views
0

Ich suche nach einem Beispiel für einen Job, für den die Reaktionszeit wichtig ist.Warum ist die Reaktionszeit bei der CPU-Planung wichtig?

One definition of response time is:

Die Zeit in einem interaktiven Programm von der Ausgabe eines Befehls zum commence genommen einer Antwort auf diesen Befehl.

Ich habe gelesen, dass Reaktionszeit für Interaktivität wichtig ist, aber ich kann nicht verstehen, warum. Wenn der Auftrag nicht vollständig abgeschlossen ist, welche Ausgabe könnte für einen Benutzer interessant sein?

Würde es dem Benutzer nicht nur interessieren, wie schnell ein Job beendet, da das das erste Mal ist, dass irgendeine Ausgabe produziert wird?

Zum Beispiel diese beiden möglichen Einplanungen von zwei Jobs betrachten:

Case 1: |---B---|---A---| 
Case 2: |-A-|---B---|-A-| 

Angenommen, Job A und B zur gleichen Zeit ausgegeben werden, eingegeben A ist ein Befehl durch den Benutzer in und B einige Hintergrundinformationen zu sein verarbeiten. Die Reaktionszeit für Job A, wie ich sie verstehe, wäre in Fall 2 kürzer. Da Job A in beiden Fällen gleichzeitig endet (und Output produziert), verstehe ich nicht, wie der Benutzer davon profitiert (oder.) bemerkt sogar) die bessere Reaktionszeit in Fall 2.

+0

"Ich habe kein Interesse an dem Prozessor den Job schnell starten" und "Ich will nur die Ausgabe so schnell wie möglich" scheinen ein bisschen grundsätzlich inkompatibel ... Um so schnell wie möglich ausgegeben zu bekommen, müssen Sie die haben Job hat schnell begonnen (und nicht unterbrochen, und ...) ... – twalberg

Antwort

0

Ich denke, ich habe eine Antwort auf meine eigene Frage. Das Problem war, ich dachte nur über einfache Prozesse wie ls, die einmal für einige Zeit ausgeführt und dann ausgegeben, wenn sie fertig sind, liefern ihre erste und einzige Ausgabe.

Angenommen, Job A in dem Beispiel aus der Frage ist ein Programm mit mehreren Druckanweisungen. Die Ausgabe wird in diesem Fall erzeugt , bevor der Prozess abgeschlossen ist (und einige der Ausdrucke können gut während der ersten geplanten Burst auftreten). Es wäre daher sinnvoll, wenn die Interaktivität so schnell wie möglich mit einem solchen Prozess beginnen möchte.

0

Beim Schreiben eines Betriebssystems muss man berücksichtigen, was das beabsichtigte Publikum sein wird. In einigen Fällen ist es am wichtigsten, Jobs so schnell wie möglich zu erledigen (Supercomputer-Systeme). In manchen Fällen ist es am reaktionsschnellsten (reguläre Desktop-Systeme), und in einigen Fällen ist es so wichtig wie möglich zu sein (Echtzeitsysteme).

Für Finishing-Jobs so schnell wie möglich, Aufgaben sollten so selten wie möglich unterbrochen werden (so große Intervalle zwischen Task-Switches sind die beste Option). Hier ist die Reaktionszeit nicht wirklich wichtig. Es sollte angemerkt werden, dass Task-Switches normalerweise eine gewisse Zeit benötigen (normalerweise tausende CPU-Zyklen), da der Zustand (einschließlich der Register und Paging-Strukturen) der alten Task im Speicher gesichert und der Status (einschließlich Register und Paging-Strukturen) wiederhergestellt werden muss die neue Aufgabe aus dem Speicher. Dies führt auch zu Cache- und TLB-Fehlern, da die zwischengespeicherten Informationen normalerweise nicht zum aktuellen Prozess gehören.

Für , das am schnellsten reagiert, sollten Aufgaben so oft wie möglich unterbrochen werden, damit der Benutzer nicht die so genannte Verzögerung erfährt. Hier ist die Reaktionszeit wichtig. Beachten Sie jedoch, dass bei Interrupt-gesteuerten Architekturen (wie x86) ein Interrupt von der Tastatur oder der Maus automatisch die Ausführung der aktuellen Task pausiert und den Interrupt-Handler aufruft, der die Eingabe verarbeitet und sie an das entsprechende Programm sendet.

Für ist die am meisten vorhersehbare, Eingang sollte weder zu schnell noch zu langsam verarbeitet werden. Dies bedeutet, dass die Reaktionszeit von beiden Seiten eingeschränkt ist und somit viel wichtiger ist als bei den "am schnellsten reagierenden" Designs. Eine Fehlvorhersage kann in geschäftskritischen Systemen sogar ein fataler Fehler sein.

Kurz gesagt, variiert die Bedeutung der Reaktionszeit von Design zu Design und kann von fast unwichtig bis kritisch reichen.

Verwandte Themen