Your SlideShare is downloading. ×
Inter Process Communication Presentation[1]
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Inter Process Communication Presentation[1]

7,326
views

Published on

Published in: Education, Technology

2 Comments
13 Likes
Statistics
Notes
No Downloads
Views
Total Views
7,326
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
2
Likes
13
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Inter-Process Communication (IPC)
    Process A
    Process B
    By
    RavindraRajuKolahalam
  • 2. What is IPC
    • Processes within a system may be independent or cooperating
    • 3. Mechanism whereby one process can communicate or exchange data, with another process
    • 4. Set of techniques for the exchange of data among multiple threads in one or more process
    • 5. Processes may be running on one or more computers connected by a network
  • Why Should I listen to You?
    • Familiarity with the different mechanisms that are available for communicating between two or more processes
    • 6. Even quite small applications can benefit from this approach particularly where there could be many users accessing a common resource, such as a database.
    • 7. Client/Server computing always uses IPC.
    • 8. Net work programming can be easy
  • Why IPC
  • IPC Mechanisms
    Message passing: Send messages to other processes or receive messages from them.
    Share a memory area with other processes.
    Synchronize itself with other processes by means of 'Semaphores'.
  • 14. Message Passing Mechanism
    • Establish a communication link
    physical
    logical
    Exchange messages two primitive operations for fixed or variable sized message passing
    Send
    Receive
  • 15. Message Passing Systems
    Direct or Indirect communications
    Symmetric or Asymmetric communications
    Automatic or Explicit buffering
  • 16. Synchronizing Messages
    Message passing may be either blocking or non-blocking.
    blocking send: sender blocked until message received by mailbox or process
    Non blocking send: sender resumes operation immediately after sending
    blocking receive: receiver blocks until a message is available
    Non blocking receive: receiver returns immediately with either a valid or null message.
  • 17. Synchronizing Messages
    Message passing may be either blocking or non-blocking.
    blocking send: sender blocked until message received by mailbox or process
    Non blocking send: sender resumes operation immediately after sending
    blocking receive: receiver blocks until a message is available
    Non blocking receive: receiver returns immediately with either a valid or null message.
  • 18. Buffering
    All messaging system require framework to temporarily buffer messages. These queues are implemented in one of three ways:
    Zero capacity – No messages may be queued within the link, requires sender to block until receives retrieves message.
    Bounded capacity – Link has finite number of message buffers. If no buffers are available then sender must block until one is freed up.
    Unbounded capacity – Link has unlimited buffer space, consequently send never needs to block.
  • 19. IPC Methods
    File
    Signal
    Socket
    Message queue
    Pipe
    Semaphore
  • 20. File
    A computer file is a block of arbitrary information, or resource for storing information.
    A file is durable in the sense that it remains available for programs to use after the current program has finished. 
  • 21. Signal
    Signal is a limited form of IPC  used in Unix and Unix-like operating systems.
    Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred.
    When a signal is sent to a process, the operating system interrupts the process's normal flow of execution.
    Execution can be interrupted during any instruction.
  • 22. Socket
    Sockets provide point-to-point, two-way communication between two processes.
    Sockets are very versatile and are a basic component of inter process and intersystem communication.
    A socket is an endpoint of communication to which a name can be bound.
    It has a type and one or more associated processes.
    Sockets exist in communication domains.
    A socket domain is an abstraction that provides an addressing structure and a set of protocols. Sockets connect only with sockets in the same domain.
  • 23. Message Queues
    Message queues provides an asynchronous communication protocol, meaning that the sender and receiver of the message do not need to interact with the message queue at the same time.
    Messages placed onto the queue are stored until the recipient retrieves them.
    Most message queues have set limits on the size of data that can be transmitted in a single message.
  • 24. What is PIPE
    A pipeline is a set of processes chained by their standard streams, so that the output of each process (stdout) feeds directly as input (stdin) to the next one.
    Each connection is implemented by an anonymous pipe. 
  • 25. Resources
    http://www.freenetpages.co.uk/hp/alan.gauld/tutipc.htm
    http://linuxgazette.net/104/ramankutty.html
  • 26. Special Thanks To
    Dr. Way
    Google :P
    All those intelligent guys who published their articles on the internet.