ipc in bsd unix pipes –a pipe is an ipc mechanism for transmitting data from one process to...

5
IPC in BSD UNIX • Pipes a pipe is an IPC mechanism for transm itting data from one process to anoth er within a single machine e.g., between a parent and child proc esses a pipe is a uni-directional IPC chann el with two ends, or sockets Data that is written into one end can be read from the other

Upload: bruno-hawkins

Post on 18-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IPC in BSD UNIX Pipes –a pipe is an IPC mechanism for transmitting data from one process to another within a single machine –e.g., between a parent and

IPC in BSD UNIX

• Pipes– a pipe is an IPC mechanism for transmitting data fr

om one process to another within a single machine

– e.g., between a parent and child processes– a pipe is a uni-directional IPC channel with two en

ds, or sockets– Data that is written into one end can be read from t

he other

Page 2: IPC in BSD UNIX Pipes –a pipe is an IPC mechanism for transmitting data from one process to another within a single machine –e.g., between a parent and

• Sockets– a socket is an IPC mechanism for transmitting

data from one process to another both within a single machine and between machines

– a socket is a bi-directional IPC channel– Domains for sockets - a domain is the space from

which an address is drawn for a socket• UNIX domain(AF_UNIX)

– uses the UNIX file system name space– used for local IPC

• Internet domain(AF_INET)– uses Internet address plus a port number– used for local and remote IPC

Page 3: IPC in BSD UNIX Pipes –a pipe is an IPC mechanism for transmitting data from one process to another within a single machine –e.g., between a parent and

• Stream Sockets– connection-oriented - communication takes place

after a connection between two sockets is made– reliable, error-free, no message boundaries

• Datagram Sockets– no connections– each message is addressed individually– message boundaries exist– delivery not guaranteed– error checking not provided

Page 4: IPC in BSD UNIX Pipes –a pipe is an IPC mechanism for transmitting data from one process to another within a single machine –e.g., between a parent and

Client-Server Communication using Sockets

Page 5: IPC in BSD UNIX Pipes –a pipe is an IPC mechanism for transmitting data from one process to another within a single machine –e.g., between a parent and

More on Sockets

• More details on UNIX IPC can be found in Chapter 5 of the Bloomer’s book, Power Programming with RPC.

• Tutorials and sample programs can be found in the

/afs/p/class/cse/cs600/ipc directory