Warteschlangenverwaltung des SCSI-Porttreibers
SCSI-Hostadapter unterscheiden sich stark in der Menge der E/A-Anforderungen, die sie verarbeiten können. Um die Funktion eines bestimmten Hostadapters nicht zu überfordern, muss entweder der Speicherklassentreiber oder der Speicherporttreiber in der Lage sein, den Fluss von E/A-Anforderungen zu steuern.
In der Microsoft Windows-Speicherarchitektur übernimmt der SCSI-Porttreiber die meisten Aspekte der E/A-Ablaufsteuerung. Speicherklassentreiber können daher eine beliebige Anzahl von E/A-Anforderungen an den SCSI-Port weiterleiten, ohne die Grenzwerte bestimmter Adapter zu testen. Der SCSI-Port akzeptiert auch explizite Anforderungen von Speicherklassentreibern, um die Warteschlangenverarbeitung zu beenden.
Der SCSI-Porttreiber "friert" seine E/A-Anforderungswarteschlange ein, wenn er die Verarbeitung von Anforderungen in die Warteschlange als Reaktion auf eine von der zugrunde liegenden Hardware gemeldete Fehlerbedingung anhält. Der SCSI-Port soll seine E/A-Anforderungswarteschlange "sperren", wenn er die Verarbeitung als Reaktion auf eine explizite Anforderung des Klassentreibers oder eines anderen übergeordneten Treibers anhält.
In den folgenden Abschnitten werden die Bedingungen beschrieben, die dazu führen, dass der SCSI-Port die status seiner Warteschlange ändert. Außerdem werden die SRBs beschrieben, mit denen treiber auf höherer Ebene die Kontrolle über die interne E/A-Anforderungswarteschlange des SCSI-Ports ausüben können.