Delen via


Configureerbaar

De randapparatuur van vandaag moet hardware-configureerbaar zijn en hun stuurprogramma's moeten software-configureerbaar zijn.

Een apparaat kan hardware-configureerbaar zijn als het verschillende toewijzingen van de hardwareresources van het systeem, zoals I/O-poortnummers, kan accepteren zonder fysiek te worden gewijzigd. Als een set hot-pluggable Plug-and-Play-schijven bijvoorbeeld is verbonden in een RAID-configuratie (redundante schijvenset), kan een gebruiker schijven wisselen terwijl het systeem actief is. Als een apparaat hardware configureerbaar is, kunnen de stuurprogramma's geen in code vastgelegde, systeemafhankelijke waarden voor de hardwareresources van het apparaat bevatten.

Een stuurprogramma kan door software worden geconfigureerd als:

  • De hardwarebronnen van het apparaat kunnen dynamisch worden ontvangen en gewijzigd.

    Stuurprogramma's die Plug en Play ondersteunen, bevatten geen in code vastgelegde waarden voor de hardwareresources van een apparaat, en het stuurprogramma controleert het apparaat ook niet om de resourcetoewijzingen te bepalen. In plaats daarvan wijst het systeem dynamisch resources toe aan het apparaat en levert het vervolgens resourcewaarden aan het stuurprogramma.

  • Het is geschreven zonder aannames over andere stuurprogramma's die zich boven of onder de stuurprogrammastack kunnen bevinden.

    Het ontwerp van een apparaatstuurprogramma op een lager niveau voor een schijf moet bijvoorbeeld flexibel genoeg zijn om meerdere bestandssystemen te ondersteunen die worden geïmplementeerd door meerdere stuurprogramma's op hoog niveau, mogelijk op één computer.

    Als een computer over voldoende massaopslagcapaciteit beschikt, mag hetzelfde schijfstuurprogramma op lager niveau geen invloed hebben op de ondersteuning van een tussenliggend stuurprogramma voor fouttolerantie (geïmplementeerd als gespiegelde partities, stripesets of volumesets) in een bestandssysteem.

De PnP-manager en elk PnP-hardwarebusstuurprogramma werken samen om een interface te bieden tussen de hardware van het platform voor een specifiek type I/O-bus en de software van het systeem. De PnP-manager bouwt een apparaatstructuur, met knooppunten die alle apparaten in het systeem vertegenwoordigen, inclusief bussen. Voor elk apparaat onderhoudt de PnP-manager twee lijsten:

  • Een lijst met de hardwarebronnen die het apparaat kan gebruiken.

  • Een lijst met de hardwarebronnen die daadwerkelijk aan het apparaat zijn toegewezen.

Apparaatstuurprogramma's helpen de PnP-manager bij het maken van deze lijsten, die in het register worden onderhouden. Wanneer apparaten worden toegevoegd aan en verwijderd uit het systeem, worden resources opnieuw toegewezen aan de PnP-manager, indien nodig en worden de lijsten bijgewerkt.

Het HAL-onderdeel (Hardware Abstraction Layer) van het systeem, dat is geïmplementeerd als een dynamic-link-bibliotheek, is verantwoordelijk voor een deel van de hardwareniveau, platformspecifieke ondersteuning die nodig is voor andere systeemonderdelen, waaronder kernelmodusstuurprogramma's.