CITS2002 Systems Programming  
prev
next CITS2002 CITS2002 schedule  

Inter-process communication

When writing programs, we don't write all of the code ourselves. Wherever possible, we employ standard, well-tested, functions - both from programming language standard libraries and from 3rd-party developers.

Similarly, our running programs - processes - should not attempt to perform all of the work themselves, if there is a standard, well-tested resource that can perform some of the work.

Processes do not, should not, work in isolation, and should communicate with other processes if useful to do so.


Contemporary operating systems provide a number inter-process communication (IPC) mechanisms. Examples include:

  • asynchronous signals
  • unidrectional anonymous pipes (in-memory FIFO buffers)
  • named pipes (on-disk FIFO files)
  • in-memory message-queues
  • shared memory blocks, permitting processes to 'share' an array or other data-structure
  • sockets, to communicate with local- or remote processes across a network (CITS3002 Computer Networks)


 


CITS2002 Systems Programming, Lecture 18, p8, 2nd October 2023.