2016-05-16 13 views
-1

Ich muss wissen, wie der Computer Interactive Network Network Input und Output Processor Unterbrechungen behandelt. Ich habe eine Weile gesucht, kann aber nichts finden. Kam über einige RJ-45-Anschlussinformationen, aber nicht viel von dem, was ich speziell brauche. Wenn jemand Informationen darüber hat, wie die CPU einen Prozess zum Aufruf des Zeigers und damit des Treibers unterbricht und wie dieser Prozess funktioniert, wäre dies sehr zu begrüßen.LAN-Treiberunterbrechungen

Dank

Antwort

0

Typischerweise konfiguriert der Treiber für die LAN-Karte, die Karte einen Interrupt auszugeben, wenn der Puffer fast voll empfangen wird oder der Sendepuffer nahe kommt zu leeren. Typischerweise leben diese Puffer im Systemspeicher und die Netzwerkhardware verwendet DMA, um übertragene Pakete zu ziehen und empfangene Pakete im Systemspeicher zu speichern.

Wenn der Interrupt ausgelöst wird, wird normalerweise ein Prozess auf einem Core unterbrochen, und der Netzwerkcode wird ausgeführt. Wenn es sich um einen Sende-Interrupt handelt und mehr Pakete gesendet werden müssen, werden mehr Pakete an den Sendepuffer angehängt. Wenn es sich um einen Empfangs-Interrupt handelt, sind typischerweise mehr Paketpuffer an den Empfangspuffer angeschlossen. Der Treiber sorgt typischerweise dafür, dass eine "untere Hälfte" gesendet wird, um alle anderen Arbeiten zu erledigen, die erledigt werden müssen (z. B. die Verarbeitung der empfangenen Pakete), und die Interrupts werden abgeschlossen.

Es gibt eine Tonne möglicher Variation, die auf vielen Faktoren basiert, aber das ist die Grundidee.