मैं क्रमशः पारस्परिक बहिष्कार और डेडलॉक को परिभाषित करता हूं: पारस्परिक बहिष्करण स्थिति मौजूद है यदि हर पल में, प्रत्येक साझा संसाधन को या तो बिल्कुल एक प्रक्रिया या उपलब्ध कराया जाता है। प्रक्रियाओं का एक सेट deadlocked है अगर सेट में प्रत्येक प्रक्रिया एक घटना के लिए इंतजार कर रहा है कि सेट में केवल एक और प्रक्रिया का कारण बन सकता है।यदि आपसी बहिष्करण की गारंटी है, तो सेमफोरस के साथ कहें, एक कार्यक्रम डेडलॉक मुक्त है?
कहें, बाइनरी सेमफोर का उपयोग किया जाता है, यह सुनिश्चित करना कि उनमें से केवल एक ही समय में अपने महत्वपूर्ण क्षेत्र में प्रवेश कर सके। चूंकि प्रत्येक प्रक्रिया अपने महत्वपूर्ण क्षेत्र में प्रवेश करने से पहले ही नीचे जाती है और इसे छोड़ने के बाद ही आपसी बहिष्कार की गारंटी होती है।
मुझे लगता है कि चार स्थितियां हैं जो सभी को डेडलॉक होने के लिए जरूरी है, जिनमें से एक पारस्परिक बहिष्करण स्थिति है (कोई भी दो प्रक्रियाएं उनके महत्वपूर्ण वर्गों के साथ एक साथ हो सकती हैं)।
चूंकि परस्पर बहिष्करण की गारंटी है, इस कार्यक्रम में, डेडलॉक-मुक्त है?
सम्मान।