Unit Deadlock
Unit Deadlock
A deadlock ek aisi state hoti hai concurrent computing mein jab multiple processes indefinitely block ho jaati hain kyunki wo ek
dusre ke resources ke liye circular waiting mein fas jaati hain. Har process apna resource hold karti hai lekin dusre process ke
resource ka wait karti hai, jis wajah se execution halt ho jaata hai.
💡 Technical Example:
Maan lo do processes hain: P1P_1P1aur P2P_2P2, aur do resources: R1aur R2.
•P1ne R1ko lock kar liya aur R2ka wait kar raha hai.
•P2ne R2ko lock kar liya aur R1ka wait kar raha hai.
Blocked Process:
•Agar process blocked ho gayi aur resource free nahi ho raha hai, to process deadlock me fass jati hai.
•Forever loop me phase rehti hai kyunki wo resource ka wait karti rehti hai jo kabhi free nahi hota.
✅ Single Instance vs Multi-Instance in Deadlock
1.Single Instance:
1. Ek single copy hoti hai resource ki jo ek baar me sirf ek process use kar sakti hai.
2. Agar ek process ne resource le liya, to doosri process ko wait karna padega jab tak pehli process resource free na kare.
3. Example:
1. Printer: Ek samay me sirf ek process print kar sakti hai.
2. CD-ROM: Ek process hi access kar sakti hai.
2.Multi-Instance:
1. Ek resource ki multiple copies hoti hain jo alag-alag processes use kar sakti hain.
2. Multiple processes simultaneously resource access kar sakti hain.
3. Example:
1. Memory blocks: Multiple processes memory use kar sakti hain.
2. CPU cores: Multi-core processors me alag processes alag cores par chal sakti hain.
Technical Diagram:
P1 → R1 (Hold) P2 → R1 (Wait)
•Yaha P1 ne R1 ko acquire kar liya hai.
•P2 usi resource ko request kar rahi hai, par usse wait state me bhej diya jata hai.
•Kyunki resource non-shareable hai, isliye mutual exclusion condition satisfy hoti hai.
2. Hold and Wait
•Hold and wait tab hota hai jab koi process ek resource hold karti hai aur saath hi doosre resource ka wait karti rehti hai.
•Is condition me process kuch resources ko allocate karke doosre resources ka wait karti hai, jis wajah se resource
dependency create hoti hai.
Technical Diagram:
P1 ne R1 hold kiya hai, lekin wo R2 ka wait kar rahi hai.
3. No Preemption
•No preemption ka matlab hai ki resources ko forcibly release nahi kiya ja sakta.
•Ek baar jab koi process resource acquire kar leti hai, toh wo usse voluntarily release karne tak resource ko hold karti rehti hai.
•OS us resource ko forcefully reclaim nahi kar sakta.
Technical Diagram:
Technical Diagram:
Resource Allocation Graph (RAG) – Definition in Hinglish
Resource Allocation Graph (RAG) ek directed graph hai jo operating system me processes aur resources ke allocation ko
represent karta hai. Isme process nodes (circle), resource nodes (square), request edges (process → resource), aur assignment
edges (resource → process) hote hain. RAG ka main use deadlock detection ke liye hota hai, jisme agar graph me cycle present
ho, to deadlock hone ki sambhavana hoti hai.
Processes (Pi)
•Circle (गोल) se represent kiya gaya hai
••.Processes resources ki request kar sakte hain ya unhe hold kar sakte hain.
Deadlock Prevention ek aisi technique hai jisme system ko is tarah design kiya jaata hai ki deadlock hone wali 4 necessary
conditions me se kam se kam ek condition ko break kar diya jaaye, taaki deadlock kabhi ho hi na.