Blog Archive

Inter-process communication

Signals -
  • Signals inform processes of the occurrences of asynchcronous events.
  • Process may send each other signal with the kill system call, or the kernel may send signals internally.
  • 19 Signals are there in system V
Pipes - created by pipe()
  • Only related processes, descendents ofa process that issued the pipe call, can share access to unnamed pipes.
A call to pipe() function returns a pair of file descriptors. One of these descriptors is connected to the write end of the pipe, and the other is connected to the read end. Anything can be written to the pipe, and read from the other end in the order it came in. On many systems, pipes fill up after you write about 10K to them without reading anything out.


Power point slide of this picture: pipe.ppt


FIFOs (Named pipes) - created by open() or mknod
  • All processes can access a named pipe regardless of their relationship.

File locking


System V IPC (which works on most unix flavours)
  • Message Queues:
  • Semaphores:
  • Shared Memory: Process share parts of their virtual address space. Processes read and write shared memory using the same machine instructions they use to read write regular memory. After attaching shared memory, it becomes part of the virtual address space of process, accessible in the same way other virtual addresses are.

Spin Locks

Read Write Locks


Memory Mapped Files

Unix Sockets



No comments: