next up previous contents index
Weiter: Spezifikation der vorgegebenen Hinauf: 18.8 Ein Platten-Treiber Zurück: 18.8 Ein Platten-Treiber

Aufgabenstellung

 

Unser zu entwerfendes Software-System soll es gestatten, daß mehrere Prozesse (Tasks) gleichzeitig Leseanforderungengif an eine Platte abgeben. Bei der Platte handelt es sich um ein Gerät, das die Daten in Form von Sektoren auf konzentrisch angeordneten Spuren abgespeichert hat (vgl. Abbildung 18.18).

  figure19446
Abbildung: Magnetplatte mit Schreib-Leseköpfen 

Ein Task, der eine Leseoperation durchführt, ist so lange blockiert, bis er die Daten vom (zu entwerfenden) Platten-Treiber übergeben erhält.

Die Magnetplatte (bzw. eigentlich der Platten-Treiber) kennt als einzige Operation:

Darüberhinaus gibt es einige physikalische Einschränkungen, die für den Zugriff auf die Platte gelten:

Da wir einen möglichst schnellen Zugriff auf die Platte realisieren wollen, folgt aus diesen Eigenschaften, daß wir die Bewegungsrichtung des Lese-Schreibkopfes nicht oft umkehren wollen. Zu diesem Behufe wollen wir alle Leseanforderungen nach Spur- und Sektornummer sortieren und den Lese-Schreibkopf in bezug auf diese Ordnung auf- beziehungsweise absteigend bewegen. Der Lese-Schreibkopf bewegt sich also wie ein Autoscheibenwischergif über die Plattenoberfläche und erledigt alle angefallenen Leseaufträge. Es soll natürlich möglich sein, Leseanforderungen, die eintreffen, während der Lese-Schreibkopf sich in eine bestimmte Richtung bewegt, zu behandeln, falls der Lese-Schreibkopf den anzusprechenden Sektor ohnehin passieren würde.



Johann Blieberger
Wed Feb 11 09:58:52 MET 1998