Besturingssysteem en hardware
Wat is de belangrijkste reden dat gangbare besturingssystemen verhinderen dat toepassingen rechtstreeks registers van apparaten lezen en schrijven?
- AOmdat in toepassingsprogramma's geen instructies kunnen worden geschreven om registers te lezen en te schrijven
- BOmdat als meerdere programma's willekeurig een apparaat bedienen, de toestand van het apparaat kan worden verstoord en de beveiliging kan worden doorbroken
- COmdat apparaatregisters alleen direct na het inschakelen van de voeding gelezen en geschreven kunnen worden
Antwoord en toelichting tonen
Antwoord: B. Omdat als meerdere programma's willekeurig een apparaat bedienen, de toestand van het apparaat kan worden verstoord en de beveiliging kan worden doorbroken
De adressen waar apparaatregisters staan, worden via de paginatabel ingesteld als niet toegankelijk vanuit de gebruikersmodus, zodat alleen de driver van het besturingssysteem ze kan bedienen. Als meerdere programma's willekeurig hetzelfde apparaat bedienen, raken tussentoestanden vermengd en werkt het apparaat verkeerd, en wordt de beveiliging doorbroken, bijvoorbeeld doordat via DMA willekeurig geheugen wordt overschreven. Toepassingen vragen het besturingssysteem via systeemaanroepen om de bediening. Het is niet zo dat de instructies niet geschreven kunnen worden, maar dat ze door de beveiliging verboden zijn.