05.08.2013 Aufrufe

Diplomarbeit - Operating Systems Group - Technische Universität ...

Diplomarbeit - Operating Systems Group - Technische Universität ...

Diplomarbeit - Operating Systems Group - Technische Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

36 KAPITEL 4. IMPLEMENTIERUNG<br />

Kontinuierliche<br />

Nichtkontinuierliche<br />

Pufferplanung<br />

Lesen der<br />

Blocklisten<br />

AuftragsAuftragsplanung annahme<br />

Auftragsgenerierung<br />

SCSI-Treiber<br />

Auftragsbehandlung<br />

kontinuierliche nicht-kontinuierliche<br />

Echtzeitströme Echtzeitströme<br />

Auftragsbehandlung<br />

Nicht-Echtzeitströme<br />

Bitmap-<br />

Pager<br />

Synchronisation<br />

Datei- und<br />

Blockverwaltung<br />

Dateisystem<br />

Abbildung 4.1: Threadstruktur des Dateisystems<br />

Echtzeitdaten<br />

Für die Bearbeitung eines kontinuierlichen Datenstroms wendet sich eine Anwendung zunächst an<br />

die Admission Control mit einer Anforderung zum Öffnen der entsprechenden Datei. Als Argument<br />

werden dabei die benötigte Datenrate und Verweildauer der Puffer übergeben. Bei erfolgreicher Admission<br />

wird der Auftrag an den Thread zur Auftragsbehandlung weitergegeben. Für die Erzeugung<br />

der SCSI-Aufträge werden in dem im Abschnitt 3.7 beschriebenen Plan die entsprechenden Felder<br />

belegt und es wird die Ringliste der Übertragungspuffer erzeugt. Die Blocklisten der einzelnen Dateien<br />

können nicht permanent im Speicher gehalten werden, durch einen separaten Thread werden<br />

die im Moment benötigten Ausschnitte der Blocklisten gelesen. Die Übertragung der Daten erfolgt<br />

durch das Einblenden der Puffer in den Adreßraum der Anwendung.<br />

Echtzeitdaten<br />

Die Bearbeitung eines nicht-kontinuierlichen Datenstroms erfolgt durch einen separaten Thread pro<br />

Datei. Die Anwendung wendet sich ebenfalls zuerst an die Admission Control. Diese startet bei<br />

erfolgreicher Admission einen neuen Thread zur Behandlung der Aufträge für diese Datei. Die Anwendung<br />

kommuniziert dann mit diesem Thread für das Lesen oder Schreiben der Daten.<br />

Nicht-Echtzeitdaten<br />

Alle Aufträge für Nicht-Echtzeitdateien werden durch einen einzigen Thread bearbeitet, der beim<br />

Hochfahren des <strong>Systems</strong> gestartet wird.<br />

Zeitsteuerung<br />

Die Bearbeitung der kontinuierlichen Datenströme erfordert eine periodische Abarbeitung der Threads<br />

zur SCSI- und Pufferplanung sowie des Threads zum Lesen der Blocklistenabschnitte. Ziel des DROPS-<br />

Projekts ist es, derartige periodische Threads durch ein geeignetes CPU-Scheduling zu unterstützen [Wol97].<br />

Bedingung dafür ist, daß neben der Periodenlänge auch die maximale Bearbeitungsdauer innerhalb einer

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!