🎓 BookMCQ
← Back to 5. Process Synchronization

📝 The Dining Philosophers Problem in Process Synchronization (48 MCQs)

📖 From Operating System • 5. Process Synchronization • 48 questions available

What is The Dining Philosophers Problem in Process Synchronization?

Definition:
The dining philosophers problem illustrates deadlock and resource allocation challenges where NN philosophers compete for NN forks arranged in a ring, requiring two adjacent forks to eat.

Example:
If all five philosophers pick up their left fork fif_i simultaneously, none can acquire the right fork f(i+1)%5f_{(i+1)\%5}, resulting in permanent deadlock.

Reason:
It serves as a canonical test case for synchronization algorithms, demonstrating that naive resource acquisition strategies fail and necessitating solutions like asymmetric ordering or monitor-based arbitration.

10
Easy
16
Medium
22
Hard

📝 All The Dining Philosophers Problem in Process Synchronization MCQs

Q1. The dining philosophers problem is considered a classic synchronization problem primarily because:

A.Philosophers are difficult to model in computer science
B.It represents a large class of concurrency-control problems ✅
C.It has significant practical importance in dining systems
D.It is the only problem that demonstrates deadlock
💡 Difficulty: easy | ✅ Correct: B

📖 Explanation: The dining philosophers problem is classic because it elegantly models a broad range of concurrency-control challenges involving resource allocation among multiple processes. Its simple representation of complex issues like deadlock and starvation makes it a fundamental example in synchronization.

Q2. In the dining philosophers problem, how many philosophers are typically seated around the table?

A.3
B.4
C.5 ✅
D.6
💡 Difficulty: easy | ✅ Correct: C

📖 Explanation: The classic dining philosophers problem involves exactly five philosophers seated around a circular table. This specific number is used because it creates the classic deadlock scenario where all five philosophers can hold one chopstick and wait indefinitely for the other.

Q3. In the dining philosophers problem, what do the philosophers do when they are not eating?

A.They sleep
B.They think ✅
C.They talk to each other
D.They wait for chopsticks
💡 Difficulty: easy | ✅ Correct: B

📖 Explanation: Philosophers alternate between two states: thinking and eating. When a philosopher thinks, they do not interact with their colleagues. This period represents idle time or performing other non-resource-intensive tasks before becoming hungry again.

Q4. In the classic problem, what is located in the center of the table?

A.A bowl of rice ✅
B.A plate of pasta
C.A cup of tea
D.A piece of bread
💡 Difficulty: easy | ✅ Correct: A

📖 Explanation: The dining philosophers problem features a bowl of rice at the center of the table. The philosophers use chopsticks to eat from this shared resource. The specific food item is arbitrary but helps illustrate the concept of shared resource consumption.

Q5. How many chopsticks are laid on the table in the dining philosophers problem?

A.3
B.4
C.5 ✅
D.6
💡 Difficulty: easy | ✅ Correct: C

📖 Explanation: The table is laid with exactly five single chopsticks, one placed between each pair of adjacent philosophers. This arrangement means each philosopher must acquire two chopsticks (their left and right) to eat, representing the need to acquire multiple resources before proceeding.

Q6. A philosopher in the dining problem can pick up chopsticks:

A.Two at a time
B.Only one chopstick at a time ✅
C.Only when the neighbor is eating
D.Only during the day
💡 Difficulty: easy | ✅ Correct: B

📖 Explanation: A philosopher may pick up only one chopstick at a time. This constraint is crucial because it introduces the possibility of deadlock. If a philosopher could pick up both chopsticks atomically, many of the synchronization problems would be avoided.

Q7. What is the primary resource that philosophers compete for in the classic synchronization problem?

A.The bowl of rice
B.The chairs
C.The chopsticks ✅
D.The table
💡 Difficulty: easy | ✅ Correct: C

📖 Explanation: Philosophers compete for chopsticks. Each philosopher needs two chopsticks to eat. The competition for these shared resources creates the synchronization challenges that make this problem a classic example of concurrency control and resource allocation.

Q8. In the simple semaphore solution, each chopstick is represented by:

A.A mutex
B.A semaphore ✅
C.A condition variable
D.An integer variable
💡 Difficulty: easy | ✅ Correct: B

📖 Explanation: Each chopstick is represented by a semaphore. This allows philosophers to wait for a chopstick using the `wait()` operation and release it using the `signal()` operation. Semaphores are a natural fit for controlling access to discrete resources like chopsticks.

Q9. In the simple semaphore solution, what is the initial value of each chopstick semaphore?

A.0
B.1 ✅
C.5
D.The number of philosophers
💡 Difficulty: easy | ✅ Correct: B

📖 Explanation: Each chopstick semaphore is initialized to 1, indicating that each chopstick is initially available. This binary semaphore acts as a mutex for that specific chopstick, ensuring that only one philosopher can hold a particular chopstick at any given time.

Q10. What does the simple semaphore solution guarantee in the dining philosophers problem?

A.Philosophers never starve
B.No two neighbors are eating simultaneously ✅
C.Deadlock never occurs
D.All philosophers eat equally
💡 Difficulty: easy | ✅ Correct: B

📖 Explanation: The semaphore solution guarantees that no two neighbors eat simultaneously. This is because adjacent philosophers share a chopstick, and the semaphore ensures they cannot both hold the same chopstick at the same time, preventing conflicts over adjacent resources.

Q11. In the classic deadlock scenario of the dining philosophers problem, what happens if all five philosophers become hungry at the same time?

A.They all eat simultaneously
B.They all grab their left chopstick and deadlock ✅
C.They all grab their right chopstick and deadlock
D.They all starve
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: If all five philosophers become hungry simultaneously and each grabs their left chopstick, all five chopsticks are held (one by each philosopher). When each then tries to grab their right chopstick, they find it already held by their neighbor, causing a circular wait and deadlock.

Q12. In the simple semaphore solution, the code for philosopher i attempts to pick up chopsticks in the following order:

A.chopstick[(i+1) % 5] then chopstick[i]
B.chopstick[i] then chopstick[(i+1) % 5] ✅
C.chopstick[i] only
D.chopstick[(i+1) % 5] only
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: Philosopher i first picks up their left chopstick (`chopstick[i]`) and then their right chopstick (`chopstick[(i+1) % 5]`). This uniform ordering is what causes the deadlock when all philosophers simultaneously grab their left chopstick.

Q13. After eating, a philosopher in the semaphore solution performs which operations?

A.signal(chopstick[i]) then signal(chopstick[(i+1) % 5]) ✅
B.wait(chopstick[i]) then wait(chopstick[(i+1) % 5])
C.signal(chopstick[i]) only
D.wait(chopstick[i]) only
💡 Difficulty: medium | ✅ Correct: A

📖 Explanation: After finishing eating, the philosopher releases both chopsticks by performing `signal()` operations on the appropriate semaphores. The order of releasing is typically the same as picking up. This allows waiting neighbors to acquire the released chopsticks.

Q14. What is the main problem with the simple semaphore solution to the dining philosophers problem?

A.It is too complex to implement
B.It can lead to deadlock ✅
C.It allows philosophers to starve
D.It requires too many semaphores
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: The simple semaphore solution is rejected because it can create a deadlock. This occurs when all philosophers simultaneously acquire their left chopstick and then wait indefinitely for their right chopstick, forming a circular wait condition that prevents any philosopher from making progress.

Q15. In the deadlock scenario of the dining philosophers problem, what is the state of all chopstick semaphores?

A.All are equal to 0 ✅
B.All are equal to 1
C.Half are 0 and half are 1
D.They are all waiting on each other
💡 Difficulty: medium | ✅ Correct: A

📖 Explanation: In the classic deadlock, each philosopher holds exactly one chopstick. Since all five chopsticks are held by different philosophers, all five semaphore values are 0. No chopstick is available, and each philosopher is waiting for a chopstick held by a neighbor, creating a circular wait.

Q16. Which of the following is NOT a proposed remedy for the deadlock problem in the dining philosophers problem?

A.Allow at most four philosophers at the table
B.Allow a philosopher to pick up chopsticks only if both are available
C.Use an asymmetric solution
D.Allow philosophers to eat without chopsticks ✅
💡 Difficulty: medium | ✅ Correct: D

📖 Explanation: Allowing philosophers to eat without chopsticks is not a valid solution and is not mentioned as a remedy. The other three options are actual proposed remedies: limiting table occupancy, using a critical section to check availability, and using an asymmetric ordering of chopstick acquisition.

Q17. How does allowing at most four philosophers at the table prevent deadlock?

A.It reduces competition for chopsticks
B.It ensures at least one chopstick is always available
C.It prevents circular wait
D.All of the above ✅
💡 Difficulty: medium | ✅ Correct: D

📖 Explanation: With only four philosophers at a five-chopstick table, at least one chopstick is always unheld. This breaks the circular wait condition because a philosopher can always acquire a second chopstick. Even if all four philosophers hold one chopstick, there will be one free chopstick available.

Q18. What is the asymmetric solution to the dining philosophers problem?

A.All philosophers pick up chopsticks in the same order
B.Odd-numbered philosophers pick up left first; even-numbered pick up right first ✅
C.Philosophers take turns eating
D.Philosophers only pick up chopsticks when hungry
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: The asymmetric solution breaks the deadlock by changing the order in which philosophers acquire chopsticks. Odd-numbered philosophers pick up their left chopstick first, while even-numbered philosophers pick up their right chopstick first. This prevents the uniform circular wait condition.

Q19. Even if a deadlock-free solution is implemented, what other problem can still occur in the dining philosophers problem?

A.Data corruption
B.Starvation ✅
C.Race condition
D.Buffer overflow
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: A deadlock-free solution does not necessarily eliminate the possibility of starvation. A philosopher could still be denied access to chopsticks indefinitely due to unfair scheduling or priority policies. Starvation is a separate liveness issue that must be addressed independently of deadlock prevention.

Q20. Why is the dining philosophers problem a useful model for synchronization problems?

A.It accurately models real dining scenarios
B.It demonstrates the need to allocate multiple resources in a deadlock-free manner ✅
C.It is easy to solve using any technique
D.It only applies to philosopher problems
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: The dining philosophers problem is useful because it models the challenge of allocating multiple resources to multiple processes. The need for a philosopher to acquire two chopsticks before eating represents processes that require multiple resources, a common scenario in operating systems and concurrent programming.

Q21. In the simple semaphore solution, what happens when a philosopher executes `wait(chopstick[i])`?

A.The philosopher releases the chopstick
B.The philosopher attempts to acquire the left chopstick ✅
C.The philosopher starts thinking
D.The philosopher signals the neighbor
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: `wait(chopstick[i])` is the operation to acquire the left chopstick. If the semaphore value is 1 (chopstick available), it decrements to 0 and the philosopher picks it up. If it's 0, the philosopher blocks until the chopstick becomes available and is acquired.

Q22. In the simple semaphore solution, what does philosopher i attempt to pick up after successfully acquiring `chopstick[i]`?

A.chopstick[i-1]
B.chopstick[(i+1) % 5] ✅
C.chopstick[(i+2) % 5]
D.chopstick[i] again
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: After acquiring their left chopstick (`chopstick[i]`), philosopher i attempts to acquire their right chopstick, which is represented by `chopstick[(i+1) % 5]`. The modulo operation ensures that philosopher 4's right chopstick is chopstick 0, making the arrangement circular.

Q23. The simple semaphore solution to the dining philosophers problem must be rejected because it could create deadlock. What does this deadlock demonstrate?

A.Philosophers are poor at sharing
B.The solution fails to provide progress ✅
C.The solution is too complex
D.Semaphores are not suitable for this problem
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: The deadlock demonstrates a failure of progress. In a deadlocked state, no philosopher can proceed because each is waiting for a resource held by another. This violates the progress requirement of a valid synchronization solution, as the system as a whole stops advancing.

Q24. In the classic deadlock, when each philosopher tries to grab their right chopstick, what happens?

A.They successfully grab it and eat
B.They are delayed forever ✅
C.They drop their left chopstick
D.They switch to their left chopstick
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: When each philosopher tries to grab their right chopstick, they find it is already held by their right neighbor. Since each philosopher is waiting for their neighbor to release a chopstick that will never be released (because the neighbor is also waiting), all philosophers are delayed forever, resulting in a deadlock.

Q25. What is the condition where one philosopher is denied access to resources indefinitely, even though deadlock does not occur?

A.Deadlock
B.Starvation ✅
C.Race condition
D.Livelock
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: Starvation is a liveness problem where a process is indefinitely denied necessary resources, even though the system is not deadlocked. In the dining philosophers problem, an unfair scheduling policy could allow some philosophers to eat while others wait forever, even though progress is being made in the system overall.

Q26. Which deadlock remedy allows a philosopher to pick up chopsticks only if both are available?

A.Limiting the number of philosophers at the table
B.Allowing atomic acquisition of both chopsticks in a critical section ✅
C.Using an asymmetric solution
D.Using a higher-level synchronization primitive
💡 Difficulty: medium | ✅ Correct: B

📖 Explanation: This remedy uses a critical section to check the availability of both chopsticks. Inside the critical section, the philosopher checks if both chopsticks are free. If so, they pick up both atomically. If not, they wait and try again later. This prevents the partial allocation that leads to deadlock.

Q27. If the asymmetric solution is implemented, what is the likely effect on the deadlock problem?

A.It eliminates the deadlock by preventing circular wait ✅
B.It worsens the deadlock problem
C.It has no effect on deadlock
D.It introduces a new deadlock scenario
💡 Difficulty: hard | ✅ Correct: A

📖 Explanation: The asymmetric solution prevents circular wait by ensuring that philosophers do not all acquire resources in the same order. Since the acquisition order is different for odd and even philosophers, it becomes impossible for a circular wait to form, thereby eliminating the deadlock scenario.

Q28. In the context of the dining philosophers problem, why is it important to distinguish between deadlock and starvation?

A.They are the same problem
B.Deadlock is easier to fix than starvation
C.A deadlock-free solution may still allow starvation ✅
D.Starvation is less serious than deadlock
💡 Difficulty: hard | ✅ Correct: C

📖 Explanation: Deadlock and starvation are distinct liveness problems. Deadlock occurs when processes are stuck in a circular wait. Starvation occurs when a process is perpetually denied resources. A system can be deadlock-free but still have starvation if scheduling unfairly favors certain processes over others.

Q29. Consider the simple semaphore solution. If philosopher 0 acquires chopstick 0, philosopher 1 acquires chopstick 1, and philosopher 2 acquires chopstick 2, what is the state of the system?

A.Deadlock
B.No deadlock ✅
C.Starvation
D.Livelock
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: No deadlock exists yet because only three of the five philosophers have acquired chopsticks, and two chopsticks are still available. A deadlock would only occur if all five philosophers each held one chopstick and waited for another. In this state, progress can still be made.

Q30. If all five philosophers become hungry simultaneously and each grabs their left chopstick, what is the minimum number of chopsticks that must be freed to break the deadlock?

A.1 ✅
B.2
C.3
D.5
💡 Difficulty: hard | ✅ Correct: A

📖 Explanation: Only one chopstick needs to be freed to break the circular wait. If any single philosopher releases their left chopstick, it becomes available to their left neighbor, who can then acquire it and potentially eat, breaking the deadlock. This demonstrates the circular nature of the wait.

Q31. In the asymmetric solution, which philosophers pick up their right chopstick first?

A.Odd-numbered philosophers
B.Even-numbered philosophers ✅
C.All philosophers
D.The hungriest philosophers
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: Even-numbered philosophers (0, 2, 4) pick up their right chopstick first, while odd-numbered philosophers (1, 3) pick up their left chopstick first. This breaks the symmetry that causes deadlock, preventing all philosophers from acquiring resources in the same order.

Q32. Why does allowing a philosopher to pick up chopsticks only if both are available prevent deadlock?

A.It reduces resource usage
B.It prevents circular wait ✅
C.It allows more philosophers to eat
D.It uses more semaphores
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: This remedy prevents deadlock by eliminating the possibility of partial allocation. A philosopher cannot hold one chopstick while waiting for another. By acquiring both chopsticks atomically, the philosopher either gets both or none, preventing the circular wait condition from forming.

Q33. What is the minimum number of philosophers at the table to guarantee freedom from deadlock in the dining philosophers problem?

A.5
B.4 ✅
C.3
D.2
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: Allowing at most four philosophers at the table guarantees freedom from deadlock. With four philosophers and five chopsticks, at least one chopstick is always available. Even if all four philosophers hold one chopstick each, one chopstick remains free, ensuring at least one philosopher can acquire a second chopstick and eat.

Q34. In the semaphore solution, which philosopher(s) can cause a deadlock by acquiring chopsticks in the same order?

A.Even-numbered philosophers only
B.Odd-numbered philosophers only
C.All philosophers ✅
D.Philosopher 2 only
💡 Difficulty: hard | ✅ Correct: C

📖 Explanation: All five philosophers acquire chopsticks in the same order: left first, then right. This uniform ordering creates a circular wait when all philosophers acquire their left chopstick simultaneously. The deadlock occurs because every philosopher is waiting for the right chopstick held by their right neighbor.

Q35. What is a key requirement for any satisfactory solution to the dining philosophers problem?

A.It must prevent deadlock ✅
B.It must prevent starvation
C.It must be simple to implement
D.It must use semaphores
💡 Difficulty: hard | ✅ Correct: A

📖 Explanation: A satisfactory solution must guard against deadlock. However, preventing deadlock is not sufficient; the solution should also address the possibility of starvation. The primary challenge is to allocate chopsticks in a way that guarantees progress for all philosophers over time.

Q36. Which of the following is a valid approach to preventing deadlock in the dining philosophers problem?

A.Increasing the number of philosophers
B.Decreasing the number of chopsticks
C.Using a centralized resource manager ✅
D.Allowing philosophers to eat with one chopstick
💡 Difficulty: hard | ✅ Correct: C

📖 Explanation: Using a centralized resource manager that controls all chopstick allocations can prevent deadlock. The manager would ensure resources are allocated in a way that avoids circular waits, such as by requiring philosophers to request both chopsticks at once or by enforcing a specific acquisition order.

Q37. If philosopher i is hungry and all chopsticks are initially available, what sequence of operations does philosopher i perform to eat?

A.signal(chopstick[i]); signal(chopstick[(i+1) % 5])
B.wait(chopstick[i]); wait(chopstick[(i+1) % 5]) ✅
C.wait(chopstick[(i+1) % 5]); wait(chopstick[i])
D.signal(chopstick[(i+1) % 5]); signal(chopstick[i])
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: Philosopher i must perform `wait()` operations to acquire both chopsticks. The standard order is left first (`chopstick[i]`), then right (`chopstick[(i+1) % 5]`). Both `wait()` operations must succeed before the philosopher can start eating, ensuring they have both necessary resources.

Q38. What happens if philosopher i acquires `chopstick[i]` but `chopstick[(i+1) % 5]` is already held by philosopher i+1?

A.Philosopher i eats immediately
B.Philosopher i waits indefinitely for the right chopstick ✅
C.Philosopher i releases the left chopstick and retries
D.Philosopher i signals the right neighbor
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: If the right chopstick is already held by the neighbor, the `wait()` operation on `chopstick[(i+1) % 5]` will block philosopher i. Philosopher i now holds the left chopstick while waiting for the right, creating the partial allocation condition that can lead to deadlock if all philosophers behave similarly.

Q39. In the simple semaphore solution, what condition must be true for philosopher i to proceed to eating after picking up chopsticks?

A.They must have the left chopstick
B.They must have the right chopstick
C.They must have both the left and right chopsticks ✅
D.They must have no chopsticks
💡 Difficulty: hard | ✅ Correct: C

📖 Explanation: Philosopher i only proceeds to eating after successfully acquiring both chopsticks. This is enforced by the sequential `wait()` operations: first `wait(chopstick[i])` and then `wait(chopstick[(i+1) % 5])`. The philosopher cannot eat unless both acquisitions are successful.

Q40. Why is the dining philosophers problem a good example of the need for synchronization?

A.It involves sharing a single resource
B.It demonstrates competition for multiple resources ✅
C.It shows how to eat with chopsticks
D.It illustrates philosophical thinking
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: The problem is an excellent example because it shows the complexity of allocating multiple resources to multiple processes. Each philosopher needs two chopsticks to eat, representing processes that require multiple resources. The competition for these shared resources creates synchronization challenges that are fundamental to operating systems.

Q41. If a philosopher is deadlocked, which of the following is TRUE?

A.They are eating
B.They are thinking
C.They are holding one chopstick and waiting for another ✅
D.They have released all chopsticks
💡 Difficulty: hard | ✅ Correct: C

📖 Explanation: A deadlocked philosopher holds one chopstick (acquired) and is waiting for another (held by a neighbor). They cannot proceed because the resource they need is unavailable, and they cannot release the resource they hold because they are blocked. This is the circular wait condition.

Q42. What is the relationship between the dining philosophers problem and resource allocation in operating systems?

A.It is unrelated to operating systems
B.It models the allocation of memory
C.It models multiple resource allocation to multiple processes ✅
D.It models CPU scheduling
💡 Difficulty: hard | ✅ Correct: C

📖 Explanation: The dining philosophers problem is a classic model for multiple resource allocation in operating systems. It demonstrates the challenges of allocating resources (chopsticks) to processes (philosophers) in a way that avoids deadlock and starvation, which are key concerns in system resource management.

Q43. How does the asymmetric solution use modulo arithmetic to determine chopstick order?

A.chopstick[i] and chopstick[(i+1) % 5] ✅
B.chopstick[(i+2) % 5] and chopstick[(i+3) % 5]
C.chopstick[i] and chopstick[(i-1) % 5]
D.chopstick[(i+1) % 5] and chopstick[(i+2) % 5]
💡 Difficulty: hard | ✅ Correct: A

📖 Explanation: The asymmetric solution still uses the same two adjacent chopsticks: `chopstick[i]` (left) and `chopstick[(i+1) % 5]` (right). The difference is the order in which they are acquired. This maintains the circular arrangement while preventing the uniform acquisition order that causes deadlock.

Q44. In the asymmetric solution, philosopher 0 picks up chopsticks in which order?

A.Left then right
B.Right then left ✅
C.Only right
D.Only left
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: In the asymmetric solution, even-numbered philosophers pick up their right chopstick first. Since philosopher 0 is even, they would pick up their right chopstick (`chopstick[(0+1) % 5] = chopstick[1]`) first, then their left chopstick (`chopstick[0]`). This is the opposite order of the standard solution.

Q45. In the asymmetric solution, philosopher 3 picks up chopsticks in which order?

A.Left then right ✅
B.Right then left
C.Only left
D.Only right
💡 Difficulty: hard | ✅ Correct: A

📖 Explanation: Philosopher 3 is odd, so they pick up their left chopstick first. The order for philosopher 3 would be `chopstick[3]` (left) then `chopstick[(3+1) % 5] = chopstick[4]` (right). This asymmetry in acquisition order breaks the deadlock scenario.

Q46. What is a potential drawback of the asymmetric solution?

A.It does not prevent deadlock
B.It is more complex to implement
C.It may lead to starvation ✅
D.It requires more semaphores
💡 Difficulty: hard | ✅ Correct: C

📖 Explanation: While the asymmetric solution prevents deadlock, it does not guarantee freedom from starvation. An unfair scheduling policy could still allow some philosophers to eat less frequently than others. The solution addresses deadlock but introduces potential fairness issues.

Q47. What does the dining philosophers problem demonstrate about resource allocation strategies?

A.Simple strategies always work
B.Uniform resource ordering can cause deadlock ✅
C.More resources always solve problems
D.Starvation is easier to prevent than deadlock
💡 Difficulty: hard | ✅ Correct: B

📖 Explanation: The problem demonstrates that uniform resource ordering (all philosophers picking up left chopstick first) can lead to deadlock. This illustrates the importance of designing resource allocation strategies carefully, as simple, uniform approaches can fail in subtle ways.

Q48. Which of the following is NOT a classic synchronization problem?

A.The bounded buffer problem
B.The readers-writers problem
C.The dining philosophers problem
D.The printer spooler problem ✅
💡 Difficulty: hard | ✅ Correct: D

📖 Explanation: The printer spooler problem is not one of the classic synchronization problems mentioned. The three classic problems discussed are the bounded buffer (producer-consumer), readers-writers, and dining philosophers problems. These are fundamental examples used in operating systems textbooks to illustrate synchronization issues.

🔗 Related Topics (MCQs)