Deadlock Detection & Recovery from deadlock

0
47
Swapping in Operating System

Deadlock Detection

यदि कोई System  deadlock prevention technique  या deadlock avoidance technique का Use नहीं करता है, तो deadlock occur होने की probability है। deadlock से बचने के लिए, Operating System नियमित रूप से किसी भी deadlocks के लिए System की जाँच करता है। OS खोजे जाने के बाद recovery mechanisms का उपयोग करके deadlock से recover कर लेगा 

How to Detect Deadlock in Operating Systems?

OS इस approach में deadlock prevent or recovery के लिए किसी mechanism का use नहीं करता है।  System predict करता है कि deadlock होगा। OS समय-समय पर System को किसी भी deadlock avoid के लिए scan करता है। यदि कोई deadlocks discover  किया  जाता है, तो OS कई तरीकों से System को restore करने का प्रयास करेगा।

deadlocks detect OS की primary responsibility  है। resource allocation graph की सहायता से, OS  deadlocks का पता लगा सकता है।

यदि एक System में single instanced resource types के साथ एक cycle बनता है, तो undoubtedly deadlocks होगा। 

Deadlock Recovery in Operating System

OS deadlock से System को recover करने के लिए resources or processes की जांच करता है।

For Resource

Preempt the resource

हम resource owner (process) से resources में से एक ले सकते हैं और इसे इस hopes में another process को दे सकते हैं कि यह execution को finish कर देगा और resource को जल्द ही release कर देगा। ऐसा resources चुनना जो snatched challenging होगा।

Rollback to a safe state

Deadlock State तक पहुँचने के लिए, System को कई States से गुजरना पड़ता है। OS में System को previous safe state में restore करने की ability है। इसके work करने के लिए OS को प्रत्येक States में checkpoint implement   करनी चाहिए।

जब हम एक deadlock पर पहुँचते हैं, तो हमें सभी allocations को उलट देना चाहिए और prior safe state में return कर लेना  चाहिए।

For Process

Kill a process

एक Process को finish करके Our problem  solve किया जा सकता है; हालाँकि, bigger issue यह decide कर रहा है कि किस process को finish करना है। एक process जिसने अब तक सबसे कम work किया है, basically OS  द्वारा finish कर  दिया जाता है।

Kill all processes

यह एक persuasive strategy नहीं है, लेकिन अगर problem extremely serious हो जाती है तो इसका use किया जा सकता है। सभी processes को finish करने से system inefficiencies  result होगा क्योंकि सभी processes को फिर से start करना होगा।

LEAVE A REPLY

Please enter your comment!
Please enter your name here