Prozesse und Threads
Prozesse und Threads
Prozesse und Threads
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