05.11.2013 Aufrufe

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

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.

2.2 Ein- <strong>und</strong> Ausgabe 23<br />

ist, daß die Tabelle der Beschreibungen – im Gegensatz zur Dateideskriptor-<br />

Tabelle – prozeßübergreifend ist <strong>und</strong> daß jeder Dateideskriptor auf genau eine<br />

solche Beschreibung verweist. Wird eine Datei mehrfach geöffnet, so existieren<br />

auch hier mehrere Beschreibungen für diese geöffnete Datei. Attribute der<br />

Beschreibung sind beispielsweise<br />

• der Dateistatus,<br />

• die aktuelle Schreib-/Leseposition innerhalb der Datei <strong>und</strong><br />

• die Zugriffsrechte der offenen Datei.<br />

Abbildung 2.6 zeigt zwei verschiedene Prozesse, die die gleiche Datei geöffnet<br />

haben. Beide Prozesse haben für die Datei einen eigenen Eintrag in ihrer<br />

prozeßeigenen Dateideskriptor-Tabelle. Dadurch kann Prozeß A z. B. die<br />

Dateideskriptor-Attribute modifizieren, ohne dadurch gleichzeitig das Verhalten<br />

des Dateideskriptors von Prozeß B zu verändern.<br />

Prozeß A<br />

fd0<br />

fd1<br />

fd2<br />

fd3<br />

fd4<br />

. . .<br />

Dateideskriptor<br />

Tabelle<br />

Datei<br />

Prozeß B<br />

fd0<br />

fd1<br />

fd2<br />

fd3<br />

fd4<br />

. . .<br />

Dateideskriptor<br />

Tabelle<br />

. . .<br />

Beschreibung<br />

offener Dateien<br />

Abb. 2.6. Von mehreren Prozessen geöffnete Dateien<br />

Für die von den beiden Prozessen geöffnete Datei existieren zudem zwei Beschreibungen<br />

in der prozeßübergreifenden Tabelle der Beschreibungen. Die<br />

Zugriffsarten der Prozesse auf die Datei dürfen sich dadurch ohne weiteres<br />

unterscheiden. Beispielsweise könnte Prozeß A lesend auf die Datei zugreifen,<br />

während Prozeß B gerade neue Datensätze an das Ende der Datei anfügt.<br />

Die beiden Beschreibungen referenzieren dabei selbstverständlich die gleiche<br />

geöffnete Datei.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!