Nee, softwarecomponenten gebruiken over het algemeen geen directe stuurprogramma's om hun activiteit te controleren. De relatie is indirecter en wordt gemedieerd door het besturingssysteem.
Dit is waarom:
* Abstractie: Stuurprogramma's zijn programma's op een laag niveau die rechtstreeks met hardware communiceren. Softwarecomponenten daarentegen opereren op een hoger abstractieniveau. Ze hoeven niet te weten hoe de hardware wordt beheerd.
* Bemiddeling tussen besturingssystemen: Het besturingssysteem fungeert als tussenpersoon. Een softwarecomponent zal via systeemaanroepen verzoeken indienen (bijvoorbeeld om uit een bestand te lezen, iets op het scherm weer te geven, toegang te krijgen tot een netwerkbron). Het besturingssysteem gebruikt vervolgens de juiste stuurprogramma's om aan deze verzoeken op hardwareniveau te voldoen. Het onderdeel is zich niet bewust van de specifieke betrokken drivers.
* Draagbaarheid: Directe toegang tot stuurprogramma's zou de draagbaarheid van softwarecomponenten ernstig beperken. Verschillende hardware vereist verschillende stuurprogramma's. Als een component rechtstreeks stuurprogramma's zou gebruiken, zou het voor elk hardwareplatform herschreven moeten worden.
* Beveiliging: Directe toegang voor de bestuurder brengt aanzienlijke veiligheidsrisico's met zich mee. Een slecht geschreven component kan hardware rechtstreeks manipuleren op een manier die de systeemstabiliteit of -beveiliging in gevaar brengt. De rol van het besturingssysteem is het bieden van een veilige en gecontroleerde omgeving waarin softwarecomponenten kunnen communiceren met hardware.
Samenvattend:hoewel stuurprogramma's cruciaal zijn voor hardware-interactie, communiceren softwarecomponenten doorgaans indirect met de hardware via het besturingssysteem en de bijbehorende services, en niet via directe oproepen van stuurprogramma's. |