Inhaltsverzeichnis:
Definition - Was bedeutet E / A-Anforderung?
E / A-Anforderungspakete sind Kernelmodusstrukturen, die für die Kommunikation zwischen dem Windows-Laufwerksmodell und Windows NT-Gerätetreibern sowie mit dem Windows-Betriebssystem verwendet werden. Alle Datendetails werden über den einzelnen Zeiger an die Datenstruktur übergeben, anstatt der alten Konvention zu folgen, viele kleine Datenargumente zu transportieren. Diese E / A-Anforderungen durchlaufen viele verschiedene Verarbeitungsstufen. Diese Stufen werden durch die Art der Anforderung bestimmt, ob es sich um das Zielgerät für einen einschichtigen Treiber oder ein mehrschichtiges Laufwerk handelt.
Techopedia erläutert die E / A-Anforderung
E / A-Anforderungspakete werden grundsätzlich für die Kommunikation zwischen den Gerätetreibern und dem Betriebssystem verwendet. Dadurch kann ein bestimmter Prozess entsperrt und vollständig ausgeführt werden.
Im ersten Schritt wird ein Prozess initiiert, der ein blockierendes Lesen des Dateideskriptors einer zuvor verwendeten Datei ausgibt. Der Code des Betriebssystems oder des Kernels verfügt über einen Systemaufrufcode, mit dem die Genauigkeit der Parameter überprüft werden kann. Wenn der Puffer-Cache bereits Daten enthält, werden die Daten zurückgegeben und die Anforderung ist abgeschlossen. In dem Fall, dass die Daten nicht im Puffercache gefunden werden, wird eine physische E / A durchgeführt. Dadurch wird sichergestellt, dass der Prozess aus der Ausführungswarteschlange entfernt und in die Warteschlange gestellt wird. Danach empfängt der Gerätetreiber die Anforderung über das E / A-Subsystem. Der Gerätetreiber muss dann Platz für die eingehenden Daten schaffen und die E / A planen. Die Gerätesteuerung bearbeitet dann die Gerätehardware, um den Datenübertragungsprozess durchzuführen. Der DMA-Controller verwaltet und betreibt die Übertragung von Daten in den Kernel-Speicher. Wenn die Übertragung beendet ist, erzeugt dies einen Interrupt, der von einem Interrupt-Handler über die Interrupt-Vektortabelle empfangen wird. Es durchsucht die Daten nach wichtigen Informationen und gibt dann den Interrupt zurück. Dieses Signal wird dann vom Gerätetreiber empfangen, der die Anforderung abschließt und auch den Status der Anforderung bestimmt. Zuletzt muss der Kernel den Prozess aus der Warteschlange in die Bereitschaftsschlange entfernen und die Daten in den Adressraum übertragen. Dieser Schritt gibt den Prozess frei. Wenn also der Prozess der CPU zugewiesen ist, nimmt er die Arbeit wieder auf und ist abgeschlossen.