DIZNR INTERNATIONAL

Short Trick Of Process Synchronization ( Solve any question in few minutes).

Short Trick Of Process Synchronization ( Solve any question in few minutes).

https://www.gyanodhan.com/video/7B7.%20GATE%20CSEIT/Operating%20System/633.%20Short%20Trick%20Of%20Process%20Synchronization%20%28%20Solve%20any%20question%20in%20few%20minutes%29.mp4

Here’s a short trick guide to help you quickly solve any Process Synchronization question in GATE (or similar competitive exams) in a few minutes:


Topic: Process Synchronization

Goal: Identify Mutual Exclusion, Progress, Bounded Waiting in code
Target: GATE-level MCQs or code analysis


TRICK 1: Look for the 3 Magic Words

Always check if the algorithm/code satisfies:

  1. Mutual Exclusion – Only 1 process in the Critical Section

  2. Progress – No unnecessary blocking

  3. Bounded Waiting – Every process eventually gets a turn

Tip: If even one of these is violated, it’s not a correct solution.


TRICK 2: Remember the CORE ALGORITHMS

Algo No. Name Processes Hardware Needed Reliable? Notes
1 Simple Lock 2+ No Violates progress
2 Dekker’s Algo 2 No Software-only
3 Peterson’s Algo 2 No Easy to simulate
4 Test-and-Set Lock 2+ Yes (Atomic op) Uses hardware instruction
5 Semaphore 2+ No wait() and signal()
6 Monitor 2+ No High-level abstraction

Peterson’s = Most Common in GATE Questions!


TRICK 3: Identify the Entry & Exit Sections

Quickly scan the code for these patterns:

Entry Section (wants to enter CS):

Exit Section (leaves CS):


TRICK 4: Use This YES/NO Table

Condition to Check Look for in Code Shortcut Decision
Mutual Exclusion? Only one process allowed in CS if while(flag[] && turn) pattern exists
Progress? No unnecessary delay if CS is free if turn changes appropriately
Bounded Waiting? Process won’t wait forever if turn is assigned fairly

TRICK 5: Look for Common MCQ Keywords

Watch for these question patterns:


Super Short Summary

flag[] = true β†’ process wants to enter
while (flag[other] && turn == other) β†’ wait
Critical Section
Reset flag[i] = false, set turn = other


Example (Peterson’s):

c
flag[i] = true;
turn = 1 - i;
while (flag[1 - i] && turn == 1 - i)
; // wait

// Critical Section

flag[i] = false;

This ensures:
Mutual Exclusion
Progress
Bounded Waiting


Would you like:

Let me know!

Short Trick Of Process Synchronization ( Solve any question in few minutes).

Process Synchronization Race Condition: Critical Section …

Chapter 5: Process Synchronization