01.03.2014 Aufrufe

Prozesse und Threads

Prozesse und Threads

Prozesse und Threads

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.

IPC – Techniken unter Linux -Pipes<br />

• Es gibt also eine Schreibseite <strong>und</strong> eine Leseseite bei einer<br />

Pipe. Somit ist also nur eine Kommunikation in einer<br />

Richtung möglich (half-duplex):<br />

Eigenschaften von elementaren E/A-Funktionen bei Pipes<br />

• read() – liest Daten vom Ende des Puffers der Pipe, entweder<br />

– synchron (blockierend), bis sich genügend Daten in der Pipe befinden. Schreibt kein Prozess in<br />

die Pipe, blockiert read() so lange, bis der schreibende Prozess den Systemaufruf close() aufruft.<br />

Dieses Blockieren von read() eignet sich zum Synchronisieren von <strong>Prozesse</strong>n.<br />

oder<br />

– asynchron (nicht blockierend) , indem mit der Funktion fcntl() das Flag O_NONBLOCK oder<br />

O_NDELAY gesetzt wird. Ist die Pipe fürs Schreiben geöffnet worden, aber momentan leer,<br />

liefert read() 0 (nicht EOF) zurück<br />

Dienstag, 30. April<br />

2013<br />

Betriebssysteme <strong>und</strong> nebenläufige<br />

Anwendugen - <strong>Prozesse</strong> <strong>und</strong> <strong>Threads</strong> 55

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!