Betriebssystem und Hardware
Was ist der Hauptgrund dafür, dass ein Prozess-Kontextwechsel tatsächlich zu einem größeren Leistungsverlust führen kann als die Zeit für Sichern und Wiederherstellen der Register?
- AWeil bei jedem Wechsel die Taktfrequenz der CPU sinkt
- BWeil bei jedem Wechsel das Programm neu von der Festplatte gelesen wird
- CWeil nach dem Wechsel Cache- und TLB-Misses zunehmen
Antwort und Erläuterung anzeigen
Antwort: C. Weil nach dem Wechsel Cache- und TLB-Misses zunehmen
Sichern und Wiederherstellen der Register selbst dauert nur kurz, doch für den neu geschalteten Prozess enthalten Cache und TLB Inhalte des vorherigen Prozesses, und es kommt zu Misses, bis die benötigten Daten und Umsetzungen neu geladen sind. Bei CPUs ohne ASID muss beim Wechsel des Adressraums außerdem der TLB geleert werden. Dieser indirekte Aufwand kann größer sein als die direkte Wechselzeit. Der Takt sinkt nicht, und das Programm wird nicht von der Festplatte neu gelesen.