Apparaatstuurprogramma's moeten rechtstreeks toegang hebben tot de hardware en dit kan niet worden geleverd door de gebruikersmodus of applicaties. Om deze directe interactie mogelijk te maken, bieden de meeste besturingssystemen een mechanisme of abstractie waarmee apparaatstuurprogramma's kunnen worden uitgevoerd in geprivilegieerde uitvoeringsomgevingen zoals de kernelmodus of ring 0 (voor Intel-platforms met de x86- en x64-architectuur).
Een vensterstuurprogramma houdt zich specifiek bezig met het beheren en tekenen van de zichtbare inhoud (vensters en alles wat erop wordt getekend, evenals animaties) naar uw schermweergave (aangesloten monitor(en)). Om bewerkingen uit te voeren die rechtstreeks verband houden met de grafische componenten binnen een CPU, zoals grafische buffers in speciale grafische of gedeelde CPU-geïntegreerde grafische verwerkingseenheden en om te communiceren met de planner van het besturingssysteem binnen zijn abstractie van taak-/plannerbeheer (in Windows processen / threads genoemd als een besturingssysteem van referentie hier) zal het apparaatstuurprogramma voor het beheren van Windows/grafische afbeeldingen de geprivilegieerde uitvoeringsomgeving moeten gebruiken waarin het besturingssysteem zelf draait/beheert:de ring 0 of kernelmodus. |