Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u een draagbaar stuurprogramma wilt schrijven voor alle Versies van Microsoft Windows, moet u code schrijven om veilig te worden uitgevoerd op computers met meerdere gelijktijdig actieve processors. Een netwerkstuurprogramma moet multiprocessor-veilig zijn en moet de meegeleverde NDIS-bibliotheekfuncties gebruiken.
In een uniprocessoromgeving voert één processor slechts één computerinstructie tegelijk uit, ook al is het mogelijk dat een netwerkinterfacekaart (NIC) of een ander apparaat de huidige uitvoeringsstroom onderbreekt wanneer pakketten binnenkomen of wanneer timeronderbreken optreden. Bij het bewerken van gegevensstructuren, zoals pakketwachtrijen, schakelt een stuurprogramma interrupts op de NIC uit, voert de manipulatie uit en schakelt vervolgens interrupts opnieuw in. Veel threads in een uniprocessoromgeving lijken tegelijkertijd te worden uitgevoerd, maar worden daadwerkelijk uitgevoerd binnen onderbroken tijdsslices.
In een multiprocessoromgeving voeren processors tegelijkertijd verschillende computerinstructies uit. Een stuurprogramma moet synchroniseren, zodat wanneer één stuurprogrammafunctie algemene gegevensstructuren bewerkt, dezelfde of een andere stuurprogrammafunctie op een andere processor niet probeert gedeelde gegevens tegelijkertijd te wijzigen. Alle stuurprogrammacode is opnieuw in een SMP-computer (symmetrische multiprocessor). Windows-apparaatstuurprogramma's gebruiken spinvergrendelingen om dit probleem met resourcebeveiliging te voorkomen. Zie Synchronisatie en meldingen in netwerkstuurprogramma'svoor meer informatie.