गतिरोध का अर्थ कुछ विशिष्ट है: दो (या अधिक) प्रक्रियाएं हैं जो वर्तमान में एक दूसरे के इंतजार में अवरुद्ध हैं ।
एक में असुरक्षित राज्य आप भी एक स्थिति है जहाँ वहाँ में हो सकता है हो सकता है भविष्य में एक गतिरोध कुछ समय हो, लेकिन यह अभी तक नहीं हुई क्योंकि एक या प्रक्रियाओं के दोनों वास्तव में इंतजार कर शुरू नहीं किया है।
निम्नलिखित उदाहरण पर विचार करें:
Process A Process B
lock X lock Y # state is "unsafe"
unlock Y
lock Y # state is back to "safe" (no deadlock this time. We got lucky.)
आपके द्वारा दिए गए लिंक की धारा 7.5.1 में एक और दिलचस्प उदाहरण है :
12 टेप ड्राइव वाले सिस्टम पर विचार करें:
Process Max Need Current
P0: 10 5
P2: 9 3
यह एक असुरक्षित स्थिति है। लेकिन हम गतिरोध में नहीं हैं। वहाँ, उदाहरण के लिए, केवल 4 मुक्त ड्राइव है, इसलिए यदि P0 करता अनुरोध एक अतिरिक्त 5, और P2 करता अनुरोध एक अतिरिक्त 1, हम गतिरोध होगा, लेकिन यह अभी तक नहीं हुई। और P0 किसी भी अधिक ड्राइव का अनुरोध नहीं कर सकता है , लेकिन इसके बजाय पहले से मौजूद ड्राइव को मुफ्त कर सकता है। यह Max need
कार्यक्रम के सभी संभावित निष्पादन से अधिक है, और यह उन निष्पादन में से एक नहीं हो सकता है जहां हमें P0 में सभी 10 ड्राइव की आवश्यकता है।