Core Inter-Process Communication Mechanisms: (Historically Important)
Core Inter-Process Communication Mechanisms: (Historically Important)
Communication Mechanisms
(Historically Important)
Fred Kuhns
([email protected], http://www.arl.wustl.edu/~fredk)
Washington
WASHINGTON UNIVERSITY IN ST LOUIS
Cooperating Processes
• Independent process cannot affect or be affected by the execution of
another process.
• Here we want to focus on some common (and fundamental) IPC and event
notification mechanisms
• Is the size of a message that the link can accommodate fixed or variable?
• Solutions
– Allow a link to be associated with at most two
processes.
– Allow only one process at a time to execute a receive
operation.
– Allow the system to select arbitrarily the receiver.
Sender is notified who the receiver was
process n
process 2
user process 1
kernel
process 2
process 1
user
dbx
kernel
pipe stop
handle event
deliver signal
scheduler I/O facilities filesystem
• Persistent handlers
• Masking signals
– signals masked (blocked) temporarily
– user can specify mask set for each signal
– current signal is masked when handler invoked
• Interruptible sleeps
• Restartable system calls
• Allocate separate stack for handling signals
– why is this important?