Process Relationships A relationship between processes in which each has a section of code that must not execute while another process is executing its own such section is called what?
-
ASemaphore
-
BMutual exclusion
-
CMultiprogramming
-
DMultitasking
-
ENone of the above
Answer
Correct Answer: Mutual exclusion
Explanation
Introduction / Context:When processes or threads share resources, they must coordinate access to avoid inconsistent states. The core requirement is that critical sections do not overlap, a property known as mutual exclusion (often shortened to “mutex”).
Given Data / Assumptions:
- Processes have critical sections that access shared state.
- We seek the name of the required relationship/condition between them.
Concept / Approach:Mutual exclusion is the property that only one process at a time can be in its critical section with respect to a particular resource. It is enforced using mechanisms like locks, semaphores, monitors, or atomic instructions.
Step-by-Step Solution:Identify the critical regions in each process.Apply a synchronization primitive to ensure no overlap in those regions.Verify that interleavings cannot cause races or inconsistencies.
Verification / Alternative check:Testing under load should show that only one thread enters the critical region at a time for the protected resource and data remains consistent.
Why Other Options Are Wrong:Semaphores (Option A) are one technique to implement mutual exclusion, not the relationship itself.Multiprogramming/Multitasking (Options C/D) describe general execution modes, not the exclusivity requirement.
Common Pitfalls:
- Using coarse-grained locks that hurt performance.
- Forgetting to guard all accesses to the resource, leading to residual races.
Final Answer:Mutual exclusion.