next up previous contents
Next: Kommunikationsprotokolle Up: Internetserver Previous: Synchronisation und Geschwindigkeitsoptimierung

Speichermanagement

Die drei Tasks müssen die Bilddaten untereinander weiterreichen. Dazu werden gemeinsame genutzte Speicherbereiche verwendet (siehe Abbildung 3.10). Der Zugriff auf jeden dieser Speicherbereiche ist durch ein binäres Semaphor geschützt. Vor einem Schreib- oder Lesezugriff muss jede Task das Semaphor anfordern und nach dem Zugriff wieder freigeben. Mit diesem Mechanismus wird die Kollision der Tasks verhindert. Durch die Synchronisation der Tasks (siehe Abschnitt 3.4.1 ist ein gemeinsamer Zugriff normalerweise ausgeschlossen. Die binären Semaphoren sind somit nur ein zusätzlicher Sicherheitsmechanismus, der besonders wichtig wird, wenn die Tasks nicht mehr im Priority-Scheduling, sondern im Round-Robin-Scheduling abgearbeitet werden.

  
Abbildung 3.10: Speicherorganisation der einzelnen Module


Ein Task muss bei der Anordnung wie in Abbildung 3.10 möglicherweise auf den anderen warten. Eine Verbesserung ist der Doppelpufferbetrieb wie Abbildung 3.11 gezeigt. Nachdem ein Bild geschrieben worden ist, wird der Speicherbereich umgeschaltet und ein anderer Speicherbereich verwendet. Wartezeiten, die durch unterschiedliche Ausführungszeiten der Tasks bei der Bearbeitung eines Bildes entstehen, können jedoch auch durch diese Anordnung nicht verhindert werden.
  
Abbildung 3.11: Speicherorganisation der einzelnen Module mit Doppelpufferbetrieb

>


next up previous contents
Next: Kommunikationsprotokolle Up: Internetserver Previous: Synchronisation und Geschwindigkeitsoptimierung
Thorsten Thormaehlen
2000-03-27