Chapter 8 Flashcards
What is intern process communication (IPC)
How a cooperating process communicate with another cooperating process and sends information. Process communicate with each other without resorting to shared variables.
What is direct inter process communication
The process should have name for sender
What is indirect inter process communication
There is no need to put process name
What are 2 basic requirements for inter process communication
- There should be communication link
2. There should be send message and receive message
What are 2 implementation of communication link
- Physical (e.g. shared memory, hardware)
2. Logical (Logical properties)
What is meaning of link unidirectional and bidirectional
It means data can transfer either on one side or both sides
What is full duplex channel and half duplex channel
Half duplex channel means channel has capability to send data on both directions but at one time. On the other hand, in the full duplex mode of transmission, the communication is bi-directional.
Can there be multiple channels for process communication
Yes
Does each pair of process may share several communication links in indirect communication
Yes
Message passing may be blocking or non-blocking (synchronous or asynchronous)
True or False
True
What are 3 possible scenarios of queues of messages or buffering
- Zero capacity = No message can be queue (example of 2 labor, one man is throwing bricks and other is catching)
- Bounded capacity = N messages can be queued, fixed size buffering (example of truck that contain bricks and unload bricks in a fixed place)
- Unbounded capacity = Infinite capacity/length (truck on bricks come and we place it everywhere like on road, neighbors, ground thinking every where is available)
What are tools for IPC
- Pipe
- Named pipe (FIFO)
- BSD (Berkley software distribution) Socket
- TLI (transport layer interlink)
- Message queue
- Shared memory
What are important system calls of UNIX/Linux
- Pipe (Create a pipe for IPC)
- Read (Read from a pipe)
- Write (Write data to a pipe)
- Close (close/destroy pipe)
What is pipe
Pipe is a communication channel through which 2 processes can talk (indirect communication - mailbox based sharing)
What open() do
It is for open a file. It returns an integer value called file descriptor which is just opened.