प्रत्येक process सँग एउटा isolated address space हुने हुनाले, तिनले सजिलै variable साझा गर्न सक्दैनन् — तिनलाई inter-process communication (IPC) चाहिन्छ। OS ले धेरै संयन्त्र प्रदान गर्छ, जुन गति, दिशा, र मेसिनहरूबीच काम गर्छन् कि गर्दैनन् भन्नेमा फरक हुन्छन्।
मुख्य संयन्त्रहरू
Pipe / FIFO → byte stream, one direction; anonymous pipe = parent↔child, named FIFO = any procs
e.g. ls | grep foo (the shell wires stdout→stdin via a pipe)
Shared memory → both map the SAME physical pages → FASTEST (no copy), but you must
synchronize access yourself (semaphore/mutex)
Message queue → kernel-managed queue of discrete messages; decoupled, preserves boundaries
Socket → bidirectional stream/datagram; UNIX-domain (same host) or TCP/UDP (across network)
Signal → tiny async notification (a number), e.g. SIGINT, SIGTERM — control, not data transfer
