Vanwege het bestaan van de driverfunctielaag zijn protocoldrivers en netwerkkaartdrivers onafhankelijk van elkaar, waardoor de complexiteit van het toevoegen van netwerkapparaten en het uitbreiden van netwerkcomponenten aanzienlijk wordt vereenvoudigd. De netwerkprotocolstack ondersteunt voornamelijk verbeterde stuurprogramma's voor netwerkapparaten.
Het END-apparaatstuurprogramma laden
Het laden van END-apparaatstuurprogramma's omvat hoofdzakelijk de verbinding tussen het END-apparaatstuurprogramma en de abstracte laag van stuurprogrammafuncties, waardoor de netwerkprotocolstack het END-apparaat kan besturen. Het specifieke proces omvat: het initialiseren van de netwerkkaart en het PHY-apparaat, het configureren van de communicatieparameters van de netwerkkaart en het PHY-apparaat, enz.; Wijs ruimte toe voor de netwerkkaartbesturingsstructuur en initialiseer de END-OBJ-structuur, die voornamelijk de netwerkkaartbesturingsstructuur en parameterinformatie met betrekking tot de netwerkprotocolstapel omvat; Analyseer en verwerk de parameterreeks die overeenkomt met het stuurprogramma van de netwerkkaart; Wijs ruimte toe voor het ontvangen van gegevens om de opslag van ontvangen gegevens te garanderen; Implementeer de verbinding tussen het stuurprogramma van de netwerkkaart en de netwerkprotocolstack door de parameter NET-FUNCS in de END-OBJ-structuur te configureren
Start END-apparaat
Het opstartproces van END-apparaten omvat voornamelijk het koppelen van programma's voor het verwerken van interrupts en het mogelijk maken van netwerkkaartinterrupts. Voor netwerkkaartapparaten kunnen hun gegevensverwerkingsmethoden worden onderverdeeld in twee werkmodi: onderbreken en pollen. Tijdens het opstartproces van het END-apparaat worden zowel het ontvangen als verzenden van gegevens ingesteld op de interruptmodus, en zijn er interruptverwerkingsprogramma's voor het ontvangen en verzenden van gegevens gekoppeld. Ten slotte kan het inschakelen van netwerkkaartonderbrekingen, het ontvangen en verzenden van onderbrekingen het opstarten van het END-apparaat voltooien
Netwerkpakketten ontvangen
Voor de ontvangst van netwerkpakketten heeft de netwerkprotocolstack van het besturingssysteem geen netwerkkaartstuurprogramma's nodig om netwerkpakketten te verwerken. Wanneer het netwerkkaartapparaat gegevens ontvangt, genereert het een ontvangstinterrupt. In het ontvangstinterruptverwerkingsprogramma zal het programma de netJobAdd-functie aanroepen om een taakprogramma te starten dat de door het netwerkkaartapparaat ontvangen gegevens doorgeeft aan de abstractielaag van de stuurprogrammafunctie. De netwerkprotocolstapel verkrijgt het netwerkdatapakket via de ontvangstfunctie van de driverfunctie-abstractielaag en voert overeenkomstige dataverwerking uit. Het gebruik van de netJobAdd-functie kan hier de verwerkingstijd van het ontvangen van interrupts verkorten en de ontvangstcapaciteit van netwerkgegevens verbeteren.
Netwerkpakketten verzenden
Voor het verzenden van netwerkpakketten, wanneer de netwerkprotocolstack gegevens verzendt, plaatst deze de gegevens in een buffer en verzendt de gegevens van de buffer naar het netwerkkaartapparaat door de verzendfunctie van de stuurprogramma-abstractielaag aan te roepen. Na ontvangst van de gegevens plaatst het netwerkkaartapparaat deze in de verzendbuffer om te wachten tot de gegevens zijn verzonden.
Stuurprogramma voor netwerkkaart
Feb 09, 2024
Laat een bericht achter
