I / O-Anfrage

Definition - Was bedeutet E / A-Anforderung?

E / A-Anforderungspakete sind Kernelmodusstrukturen, die für die Kommunikation zwischen dem Windows-Laufwerksmodell und den 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 des Transports vieler kleiner Datenargumente zu folgen. Diese E / A-Anforderungen durchlaufen viele verschiedene Verarbeitungsstufen. Diese Stufen werden durch die Art der Anforderung bestimmt, ob sie für das Zielgerät für einen einschichtigen Treiber oder ein mehrschichtiges Laufwerk bestimmt ist.

Technische.me erklärt 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 einen blockierenden Lesevorgang für den Dateideskriptor einer zuvor verwendeten Datei ausgibt. Der Code des Betriebssystems oder des Kernels enthält einen Systemaufrufcode, mit dem die Genauigkeit der Parameter überprüft werden kann. Wenn der Puffercache bereits über die Daten verfügt, werden die Daten zurückgegeben und die Anforderung abgeschlossen. In dem Fall, dass die Daten nicht im Puffercache gefunden werden, wird eine physische E / A ausgefü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. Es ist dann Sache des Gerätetreibers, Platz für die eingehenden Daten zu schaffen und E / A zu planen. Die Gerätesteuerung arbeitet dann an der Gerätehardware, um den Datenübertragungsprozess durchzuführen. Der DMA-Controller verwaltet und betreibt die Datenübertragung zum Kernelspeicher. 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. Schließlich ist es Sache des Kernels, den Prozess aus der Warteschlange in die Bereitschaftswarteschlange zu entfernen und die Daten in den Adressraum zu übertragen. Dieser Schritt entsperrt den Prozess. Wenn der Prozess nun der CPU zugewiesen ist, nimmt er die Arbeit wieder auf und ist abgeschlossen.