–send ( )
•Synchronous
–Returns after data is sent
–Blocks if buffer is full
•Asynchronous
–Returns as soon as I/O started
–Done?
»Explicit check
»Signal
–Blocks if buffer is full
–receive ()
•Sync.
–Returns if there is a message
–Blocks if not
•Async.
–Returns if there is a message
–Returns if no message