Besturingssysteem en hardware

Wat is de belangrijkste reden dat het sneller is om kleine gegevens eerst in een buffer in de gebruikersruimte te verzamelen en gebundeld weg te schrijven dan bij het byte voor byte wegschrijven telkens een systeemaanroep te doen?

  1. AOmdat bij gebundeld schrijven de totale hoeveelheid weg te schrijven gegevens zelf afneemt
  2. BOmdat de vaste last per systeemaanroep wordt beperkt door het aantal aanroepen te verminderen
  3. COmdat gegevens in de buffer kunnen worden bewaard zonder schijf te gebruiken
Antwoord en toelichting tonen

Antwoord: B. Omdat de vaste last per systeemaanroep wordt beperkt door het aantal aanroepen te verminderen

Bij een systeemaanroep zijn telkens nodig: omschakelen van gebruikersmodus naar bevoorrechte modus, registers opslaan, argumenten controleren en terugkeren, en deze vaste last is er zelfs als maar 1 byte wordt verwerkt. Bovendien raken door het betreden van de kernel de inhoud van cache en TLB verstoord. Als gegevens in een buffer worden verzameld en per enkele KB gebundeld worden geschreven, neemt het aantal systeemaanroepen sterk af en wordt het geheel sneller. De totale hoeveelheid weg te schrijven gegevens verandert niet en wordt uiteindelijk naar schijf geschreven.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Besturingssysteem en hardware

  1. Wat is het belangrijkste doel van het onderscheid tussen bevoorrechte modus (kernelmodus) en gebruikersmodus in de CPU?
  2. Hoe heet het mechanisme waarmee een toepassing het besturingssysteem verzoekt bijvoorbeeld een bestand te lezen of te schrijven?
  3. Wat gebeurt er juist wanneer de laatste ecall-instructie van de bovenstaande RISC-V-code wordt uitgevoerd?
  4. Welke uitleg van het verschil tussen een interrupt en een exception is gangbaar?
  5. Welke van de volgende is asynchroon, los van de uitvoering van instructies en op een niet vooraf bekend moment?

Vergelijkingen bij dit onderwerp