Besturingssysteem en hardware
Wat is de belangrijkste reden dat een contextwisseling in de praktijk soms een grotere prestatiedaling veroorzaakt dan de tijd die het opslaan en herstellen van registers kost?
- AOmdat bij elke wisseling de kloksnelheid van de CPU daalt
- BOmdat het programma bij elke wisseling opnieuw van schijf wordt ingelezen
- COmdat na de wisseling het aantal cache- en TLB-misses toeneemt
Antwoord en toelichting tonen
Antwoord: C. Omdat na de wisseling het aantal cache- en TLB-misses toeneemt
Het opslaan en herstellen van registers zelf kost weinig tijd, maar voor het proces waarnaar is overgeschakeld bevatten cache en TLB gegevens van het vorige proces, zodat misses doorgaan tot benodigde gegevens en vertalingen opnieuw zijn ingelezen. Bij CPU's zonder ASID moet bij het omschakelen van adresruimte ook de TLB worden geleegd. Deze indirecte kosten kunnen groter zijn dan de directe wisseltijd. De klok daalt niet en het programma wordt niet opnieuw van schijf gelezen.