PDF

Free PDF Source

PDF

Free PDF Source

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

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

[fvplayer id=”361″]

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):

  • flag[i] = true; β†’ intention to enter

  • turn = 1 - i; β†’ gives other process a chance

  • while(...) β†’ busy wait / condition checking

πŸŸ₯ Exit Section (leaves CS):

  • flag[i] = false;

  • turn = ...; β†’ resets turn for the other process


βœ… 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:

  • “Which condition is violated?”
    β†’ Use the YES/NO table above

  • “How many processes can be in CS?”
    β†’ If more than one, Mutual Exclusion is violated

  • “What is the purpose of turn or flag[]?”
    β†’ flag[] = intent, turn = fairness

  • “Identify correct algorithm from options”
    β†’ Match pattern to Peterson, Dekker, etc.


βœ… 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:

  • A printable cheat sheet?

  • Practice MCQs with answers?

  • Visual flowcharts for each algorithm?

Let me know!

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

Process Synchronization Race Condition: Critical Section …

Chapter 5: Process Synchronization

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

Leave a Reply

Scroll to top