Prerequisite – Inter Process Communication,
Interprocess communication (IPC) is set of interfaces, which is usually programmed in order for the programs to communicate between series of processes. This allows running f program concurrently in an Operating System. These are methods in IPC:
- Pipes (Same Process) –
This allows flow of data in one direction only. Analogous to simplex systems (Keyboard). Data from the output is usually buffered until input process receives it which must have a common origin.
- Names Pipes (Different Processes) –
This is a pipe with a specific name it can be used in processes that don’t have a shared common process origin. E.g. is FIFO where the datails written to a pipe is first named.
- Message Queuing –
This allows messages to be passed between processes using either a single queue or several message queue. This is managed by system kernel this messages are co-ordinated using an API.
- Semaphores –
This is used in solving problems associated with synchronization and to avoid race condition. These are integer values which are greater than or equal to 0.
- Shared memory –
This allows interchange of data through a defined area of a memory. Semaphore values has to be obtained before data can get access to a shared memory.
- Sockets –
This method is mostly used to communicate over a network between a client and a server. It allows for a standard connection which is computer and OS independent.