Unix InterProcess Communication - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Unix InterProcess Communication

Description:

... passing, and sockets) that make it relatively easy for processes to communciate ... have a hierarchy, with one process effectively controlling or driving another ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 9
Provided by: facultyTa
Category:

less

Transcript and Presenter's Notes

Title: Unix InterProcess Communication


1
Unix Inter-Process Communication
  • Art of Unix Programming
  • Ch 7

2
Multiprocessing
  • Most common program-modularization technique in
    Unix paradigm is to split up large programs into
    multiple cooperating processes
  • Unix OS's encourage breaking programs into
    simpler small applications by
  • making process-spawning cheap
  • providing methods (shellouts, I/O redirection,
    pipes, message-passing, and sockets) that make it
    relatively easy for processes to communciate
  • encouraging the use of simple, transparent,
    textual data formats that can be passed through
    pipes and sockets

3
Taxonomy of Unix IPC Methods
  • Hand off tasks to specialist programs
  • program runs another to accomplish a specialized
    task
  • called shelling out to the called program
  • Caller and calee do not communicate while
    running, so protocol design not an issue
  • except caller may pass in command-line arguments,
    and callee might pass back data by, for example,
    writing or modifying a file that the caller then
    uses

4
Taxonomy of Unix IPC Methods
  • Pipes, Redirection and Filters
  • Depend on convention that every program has
    initially available to it (at least) two I/O data
    streams standard input and standard output
  • numeric file descriptors 0 and 1 respectively
  • Many programs can be written as filters, which
    read sequentially from standard input and write
    only to standard output
  • All stages in a pipeline run concurrently, each
    stage waits for input on the output of the
    previous one, but no stage has to exit before the
    next can run
  • Unidirectional, all data flows one way

5
Taxonomy of Unix IPC Methods
  • Slave Processes
  • Send data back and forth between master and
    slaves, while both are running at the same time
  • Requires some sort of protocol and internal-state
    machines to handle communication between them
  • When becomes to complex, time to separate into
    client-server

6
Taxonomy of Unix IPC Methods
  • Peer-to-Peer IPC
  • All previous have a hierarchy, with one process
    effectively controlling or driving another
  • In communications and networking we frequently
    need channels that are peer-to-peer, usually with
    data flowing freely in both directions

7
Peer-to-Peer IPC Methods
  • Tempfiles
  • oldest IPC method
  • files act as drops between cooperating programs
  • Signals
  • two processes on the same machine can communicate
    by sending signals
  • a form of soft interrupt
  • processes declare signal handlers

8
Peer-to-Peer IPC Methods
  • Sockets
  • Developed in BSD lineage of unix as a way to
    encapsulate bi-directional stream communication
  • Byte streams are sequenced and reliable
  • Of course, sockets can be used for communication
    of processes on different machines
  • Shared Memory
  • shared memory requires that the processes to
    communicate live on the same machine
  • Used instead of sockets when performance is
    critical issue (and processes can be run on the
    same machine).
Write a Comment
User Comments (0)
About PowerShow.com