ஒவ்வொரு process-க்கும் ஒரு தனிமைப்படுத்தப்பட்ட address space இருப்பதால், அவை வெறுமனே variables-ஐப் பகிர முடியாது — அவற்றுக்கு inter-process communication (IPC) தேவை. OS பல வழிமுறைகளை வழங்குகிறது, வேகம், திசை, மற்றும் அவை machines-க்கு இடையே வேலை செய்கின்றனவா என்பதில் வேறுபடுகின்றன.
முக்கிய வழிமுறைகள்
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
