Recall & Review
beginner
What is Peterson's solution used for in operating systems?
Peterson's solution is a method to ensure mutual exclusion, allowing two processes to share a single-use resource without conflicts or interference.
Click to reveal answer
beginner
Which two key variables does Peterson's solution use to control access?
It uses a 'flag' array to indicate if a process wants to enter the critical section and a 'turn' variable to decide which process's turn it is to enter.
Click to reveal answer
intermediate
How does Peterson's solution prevent both processes from entering the critical section at the same time?
By setting its own flag to true and giving the turn to the other process, a process waits if the other wants to enter and it is the other’s turn, ensuring only one enters at a time.
Click to reveal answer
intermediate
What are the three main properties Peterson's solution guarantees?
Mutual exclusion (only one process in critical section), progress (no process waits forever if the critical section is free), and bounded waiting (each process gets a chance eventually).
Click to reveal answer
advanced
Why is Peterson's solution mostly of theoretical interest today?
Because it requires strict assumptions like sequential consistency of memory operations, which modern processors and compilers may not guarantee, making it less practical for real systems.
Click to reveal answer
What does the 'turn' variable in Peterson's solution represent?
✗ Incorrect
The 'turn' variable indicates which process is allowed to enter the critical section next.
How many processes can Peterson's solution handle simultaneously?
✗ Incorrect
Peterson's solution is designed specifically for two processes.
Which property ensures that no process waits forever in Peterson's solution?
✗ Incorrect
Bounded waiting guarantees that each process will eventually enter the critical section.
What happens if both processes set their flags to true and the turn variable is set to one process?
✗ Incorrect
The process whose turn it is allowed to enter the critical section proceeds, ensuring mutual exclusion.
Why might Peterson's solution fail on modern processors?
✗ Incorrect
Modern processors may reorder instructions, breaking the assumptions Peterson's solution relies on.
Explain how Peterson's solution uses the 'flag' array and 'turn' variable to achieve mutual exclusion.
Think about how a process signals it wants to enter and how it respects the other process's turn.
You got /3 concepts.
Describe the main limitations of Peterson's solution in practical operating systems.
Consider hardware and system behavior differences from the original assumptions.
You got /3 concepts.