Diplomarbeit - Operating Systems Group - Technische Universität ...
Diplomarbeit - Operating Systems Group - Technische Universität ...
Diplomarbeit - Operating Systems Group - Technische Universität ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
30 KAPITEL 3. ENTWURF<br />
arbeiten unabhängig voneinander, wodurch ein Blockieren einer Anwendung durch eine andere verhindert<br />
werden kann.<br />
Für die Umsetzung der zweiten Variante muß die Pufferverwaltung also eine Menge getrennter Puffer<br />
verwalten. Die Anzahl und Größe dieser Puffer wird durch die Admission Control in Abhängigkeit der<br />
geforderten Bandbreite und Verweildauer des Puffers bei der Anwendung bestimmt. Durch die Angabe<br />
der Verweildauer können auch Anwendungsketten beschrieben werden, die die Puffer über mehr als zwei<br />
Elemente weitergeben; aus Sicht des Dateisystems ist dann die Dauer, die die Puffer in der zum Dateisystem<br />
nächsten Anwendung benötigt werden, entsprechend größer.<br />
Puffer 5<br />
Puffer 4<br />
Puffer 1<br />
Puffer 2<br />
Puffer 3<br />
Puffer 2<br />
- Pufferbeschreibung<br />
- Auftragsliste:<br />
Auftrag 1:<br />
- Beginn<br />
- Ende<br />
- Verweis auf SCSI-Aufträge<br />
Auftrag 2:<br />
Abbildung 3.8: Ringliste zur Verwaltung der Übertragungspuffer<br />
Die Puffer werden in einer Ringliste organisiert (siehe Abb. 3.8), jedes Element dieser Liste enthält neben<br />
einer Beschreibung des Puffers eine Listebeschrieben, mit den Aufträgen, die für diesen Puffer noch ausstehen. Ein<br />
Auftrag ist dabei Zeitraum§ durch einen indem dieser Puffer der Anwendung<br />
zur Verfügung stehen muß. Anhand des Verweises auf die SCSI-Aufträge kann überprüft werden, ob die<br />
Aufträge zum Lesen/Schreiben der Daten des Puffers auch korrekt ausgeführt wurden.<br />
Die Verwendung einer derartigen Auftrags-Warteschlange auch für die Puffer ermöglicht eine flexible Auftragsplanung,<br />
da die SCSI-Aufträge unabhängig davon erzeugt werden können, ob der Puffer noch in Benutzung<br />
ist.<br />
3.7 Auftragsplanung<br />
Aufgrund der Aufteilung der SCSI-Slots durch die Admission Control ist die grundlegende Vorgehensweise<br />
bei der Auftragsplanung bereits vorgegeben. Das Dateisystem verwaltet einen Plan, in dem jedem Slot des<br />
Zyklus ein Datenstrom zugeordnet ist (siehe Abbildung 3.9). Für die Erzeugung der konkreten Aufträge<br />
werden in festgelegten Zeitabständen die Aufträge für einen Ausschnitt aus diesem Plan erzeugt, indem für<br />
die jeweiligen Datenströme die nächsten Blöcke geliefert werden. Die Länge dieses Ausschnitts und der<br />
Abstand zwischen der Generierung dieser Auftragsgruppen ist von der Anzahl an Aufträgen abhängig, die<br />
der SCSI-Treiber auf einmal verwalten kann.<br />
Des weiteren muß auch die Planung der Pufferübertragung erfolgen. Dazu müssen die entsprechenden<br />
Einträge in den Auftragswarteschlangen der Puffer erzeugt werden. Da die Puffer in der Regel größer<br />
als ein einzelner Datenblock sind, werden mehrere SCSI-Aufträge zum Lesen eines Puffers benötigt. Der<br />
frühestmögliche Zeitpunkt, an dem der Puffer an die Anwendung geliefert werden kann liegt demzufolge<br />
nach dem Abschluß des letzten Leseauftrags. Der Zeitpunkt, an dem der Puffer für andere Aufträge wieder<br />
verfügbar ist, wird durch die Verweildauer des Puffers bei der Anwendung bestimmt. Beim Schreiben<br />
eines Datenstroms wird anders verfahren. Der Zeitraum, in dem der Puffer der Anwendung zur Verfügung