Selbstverständlich könnte man dies auch im Treiber durchführen, aber dort wäre es logisch erheblich schwieriger unterzubringen, da SCSI- Kernroutinen normalerweise nichts über die verschiedenen Geräte und ihre Verhaltensweisen wissen. Eine Festplatte und ein CD-ROM haben da zum Beispiel normalerweise erheblich unterschiedliche Datenaufbauten, was zu unterschiedlichen Strategien des Caching führen kann. Das Gerät dagegen weiß schließlich am allerbesten, was es macht und wie es aufgebaut ist, kann also besser handeln.

2.2 Andere Messages

2.2.1 BUS DEVICE RESET

Um ein Gerät einzeln zurückzusetzen, ohne das andere Geräte davon betroffen sind, wie es beim Setzen der Reset-Leitung auf dem SCSI-Bus ist, kann man eine RESET-Message an ein Gerät versenden.

Das Gerät verfährt dann, als hätte es einen `har reset' erhalten, verwirft alle laufenden Transfers, Command Queues, Geräte-Reservierungen, Konfigurationen und was sonst noch so ansteht.

Außerdem liefert das Gerät dann beim nächsten Zugriff `Unit Attention', damit alle erfahren, daß der Zustand des Gerätes nicht mehr gültig ist.

2.2.2 ABORT

Aus verschiedenen Gründen ist es sinnvoll, ein laufendes Kommando abbrechen zu können. Ein wesentlicher Grund wäre zum Beispiel, daß man vom Initiator aus einen präventiven Lesezugriff machen möchte, um maximale Datenraten zu erreichen. Dabei würde ein Treiber mehr Daten von der Platte anfordern, als eigentlich ursprünglich benötigt werden. Der Grund dafür ist die Erwartung, daß die Daten, die den ursprünglich angeforderten folgen, wahrscheinlich in Kürze auch angefordert werden. Ein gutes Beispiel dafür sind Harddiskrecorder.

SCSI - Enträtselt Teil 2 - 9 / 15

60