Diplomarbeit - Operating Systems Group - Technische Universität ...
Diplomarbeit - Operating Systems Group - Technische Universität ...
Diplomarbeit - Operating Systems Group - Technische Universität ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
28 KAPITEL 3. ENTWURF<br />
Verfügung stehenden Festplatten verteilt, beim Erreichen der letzten Festplatte wird wieder mit der ersten<br />
Festplatte begonnen.<br />
Durch eine geeignete Abwandlung dieses Datenlayouts kann noch ein weiteres Problem gelöst werden.<br />
Durch die Admission Control werden die geforderten Bandbreiten der Datenströme auf Vielfache der minimalen<br />
Bandbreite aufgerundet und die Festlegung der Slots anhand dieser gerundeten Bandbreite vorgenommen.<br />
Dadurch werden die Daten mit einer größeren Bandbreite gelesen als die Anwendung angefordert<br />
hat, das Dateisystem liest also mehr Daten als die Anwendung verarbeitet. Um ein zu starkes Auseinanderlaufen<br />
der Anwendung und des Dateisystems zu verhindern, werden, sobald der Vorlauf groß genug ist,<br />
Datenblöcke bei der Allokation ausgelassen [Rud97b].<br />
Festplatte<br />
4<br />
3<br />
2<br />
1<br />
1 28<br />
2 56<br />
3 84<br />
4 112<br />
5 40<br />
6 68<br />
x ... Nummer des Datenblocks<br />
x y y ... durch gerundete Bandbreite entstandener Vorlauf<br />
7 96<br />
8 124<br />
9 52<br />
ausgelassener Block<br />
10 80<br />
Abbildung 3.7: Anpassung der Lese- und Verarbeitungsbandbreiten durch Auslassen von Datenblöcken<br />
Abbildung 3.7 verdeutlicht dies an einem Beispiel. Das Dateisystem liefert pro Periode einen 128 KByte-<br />
Datenblock, während die Anwendung im selben Zeitraum nur 100 KByte verarbeitet. Nach dem vierten<br />
Block ist der dadurch entstehende Vorlauf so groß, daß der nächste Block übersprungen werden kann und<br />
statt dessen die Anwendung die Daten aus dem Puffer bearbeitet.<br />
Für die ausgelassenen Datenblöcke werden durch das Dateisystem keine Aufträge für den SCSI-Treiber<br />
erzeugt, d.h. dieser kann die eigentlich dafür vorgesehenen Slots für die Bedienung anderer Aufträge verwenden.<br />
Anlegen der Dateien<br />
Für das Anlegen der Dateien und damit die Erzeugung des entsprechenden Datenlayouts sind zwei Verfahren<br />
zu unterscheiden:<br />
Nicht-Echtzeitschreiben <br />
Echtzeitschreiben <br />
einer Datei<br />
Beim Schreiben einer Echtzeit-Datei in Nicht-Echtzeit, z.B. von LLinux aus, kann diese bevor sie<br />
geschrieben wird analysiert und anhand der bestimmten realen und gerundeten Bandbreite das Layout<br />
berechnet werden.<br />
einer Datei<br />
Soll eine Echtzeit-Datei auch in Echtzeit geschrieben werden, so besteht das Problem, daß die tatsächlichen<br />
Bandbreitenanforderungen der Datei im voraus nicht bekannt sind, es können meistens<br />
nur obere Grenzwerte für die zu erwartenden Anforderungen angegeben werden. Somit fehlen für<br />
eine genaue Bestimmung des Datenlayouts die erforderlichen Eingangsdaten. Ein erster Ansatz, die<br />
Bestimmung des Layouts anhand der oberen Grenzwerte vorzunehmen und die Daten auch kontinuierlich<br />
entsprechend diesen Layouts zu speichern, ist nicht anwendbar, da der reale Schreibablauf<br />
und der durch die Admission Control vorbestimmte Verlauf in der Regel voneinander abweichen und<br />
somit die Gefahr besteht, daß Schreiboperationen aufgrund anderer Anforderungen im SCSI-Treiber<br />
nicht ausgeführt werden können.<br />
Zeit