Questions about Operating systems: IPC Question 1: The two fundamental models of interprocess communication are shared memory and message passing. Which of the two models is usually easier to use for an application developer? Justify your answer! Question 2: Which of the two models of interprocess communication usually does not require using system calls for exchanging data between two processes? Briefly explain why! Question 3: Read the Linux manual page of the futex system call and answer the following questions: a. True or False: Is it a system calls to perform atomic instructions, for example for atomically changing a lock state from not acquired to acquired? b. True or False: Is it a system call that is useful for implementing hybrid two-phase locks, as it can be used to put a thread to sleep if longer waiting time is expected? c. True or False: Is it a system call that enables non-blocking synchronization? Question 4. (Anonymous) pipes are an IPC mechanisms in Linux (see pipe system call). How do you classify this IPC mechanisms: Is it an IPC mechanisms based on shared memory or based on message passing? Select the right box below: Select one of the following: 1.NOT a shared memory system, 2.Shared memory / with spin locks, 3.Shared memory / with blocking locks (waiting queues), 4.Shared memory / with non-blocking synchronization Select one of the following: 1. NOT a message passing system, 2. Message passing / direct messages / without buffering (zero capacity), 3. Message passing / direct messages / with buffering (bounded capacity), 4. Message passing / indirect message (mailbox) / without buffering, 5. Message passing / Indirect message (mailbox) / with buffering (bounded capacity)
Questions about
Question 1: The two fundamental models of interprocess communication are shared memory and message passing. Which of the two models is usually easier to use for an application developer? Justify your answer!
Question 2: Which of the two models of interprocess communication usually does not require using system calls for exchanging data between two processes? Briefly explain why!
Question 3: Read the Linux manual page of the futex system call and answer the following questions:
a. True or False: Is it a system calls to perform atomic instructions, for example for atomically changing a lock state from not acquired to acquired?
b. True or False: Is it a system call that is useful for implementing hybrid two-phase locks, as it can be used to put a thread to sleep if longer waiting time is expected?
c. True or False: Is it a system call that enables non-blocking synchronization?
Question 4.
(Anonymous) pipes are an IPC
Is it an IPC mechanisms based on shared memory or based on message passing? Select the right box below:
Select one of the following:
1.NOT a shared memory system,
2.Shared memory / with spin locks,
3.Shared memory / with blocking locks (waiting queues),
4.Shared memory / with non-blocking synchronization
Select one of the following:
1. NOT a message passing system,
2. Message passing / direct messages / without buffering (zero capacity),
3. Message passing / direct messages / with buffering (bounded capacity),
4. Message passing / indirect message (mailbox) / without buffering,
5. Message passing / Indirect message (mailbox) / with buffering (bounded capacity)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps