Besturingssysteem en hardware

Welke bewerking moet de software uitvoeren voordat de CPU gegevens leest die een apparaat via DMA naar het hoofdgeheugen heeft geschreven, in een systeem waarin hardware de cache niet coherent houdt (niet-coherent)?

  1. ADe kloksnelheid van de CPU tijdelijk verlagen
  2. BDe inhoud van de cache voor het betreffende bereik ongeldig maken, zodat opnieuw uit het hoofdgeheugen wordt gelezen
  3. CDe hele inhoud van de cache terugschrijven naar het hoofdgeheugen en daarna het via DMA aangekomen resultaat weggooien
Antwoord en toelichting tonen

Antwoord: B. De inhoud van de cache voor het betreffende bereik ongeldig maken, zodat opnieuw uit het hoofdgeheugen wordt gelezen

DMA draagt gegevens tussen apparaat en hoofdgeheugen over zonder de CPU, dus in systemen waarin hardware de coherentie niet bewaakt, kunnen in de cache van de CPU nog verouderde gegevens van dat bereik staan. Als die gelezen worden, leest men de oude waarde in plaats van de nieuwe gegevens die via DMA zijn aangekomen. Daarom maakt de driver vóór het lezen de cache voor dat bereik ongeldig, zodat de nieuwe waarde uit het hoofdgeheugen wordt gelezen. Omgekeerd worden gegevens die naar een apparaat gaan vóór de start van DMA uit de cache teruggeschreven.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Besturingssysteem en hardware

  1. Wat is de juiste hoofdrol van de IOMMU?
  2. Wat is de juiste rol van een apparaatdriver?
  3. Wat is de belangrijkste reden dat gangbare besturingssystemen verhinderen dat toepassingen rechtstreeks registers van apparaten lezen en schrijven?
  4. Hoe heet de software waarmee op één computer meerdere besturingssystemen elk als onafhankelijke virtuele machine tegelijk kunnen draaien?
  5. Welke uitleg over de typen hypervisor is juist?

Vergelijkingen bij dit onderwerp