ओएस में सेमाफोर और मॉनिटर के बीच अंतर

लेखक: Laura McKinney
निर्माण की तारीख: 1 अप्रैल 2021
डेट अपडेट करें: 5 मई 2024
Anonim
सेमाफोर और म्यूटेक्स में क्या अंतर है?
वीडियो: सेमाफोर और म्यूटेक्स में क्या अंतर है?

विषय


सेमाफोर और मॉनिटर दोनों प्रक्रियाओं को पारस्परिक बहिष्करण में साझा संसाधनों तक पहुंचने की अनुमति देते हैं। दोनों प्रक्रिया तुल्यकालन उपकरण हैं। इसके बजाय, वे एक-दूसरे से बहुत अलग हैं। कहा पे सिकंदरा एक पूर्णांक चर है जिसे केवल प्रतीक्षा () और संकेत () संचालन के अलावा प्रारंभ से संचालित किया जा सकता है। दूसरी ओर, ए मॉनिटर प्रकार एक अमूर्त डेटा प्रकार है जिसका निर्माण एक प्रक्रिया को एक बार में सक्रिय होने की अनुमति देता है। इस लेख में, हम नीचे दिखाए गए तुलना चार्ट की मदद से सेमाफोर और मॉनिटर के बीच के अंतरों पर चर्चा करेंगे।

  1. तुलना चार्ट
  2. परिभाषा
  3. मुख्य अंतर
  4. निष्कर्ष

तुलना चार्ट

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


सेमाफोर की परिभाषा

एक प्रक्रिया तुल्यकालन उपकरण होने के नाते, सिकंदरा है एक पूर्णांक चर एस। इस पूर्णांक चर S को आरंभीकृत किया जाता है संसाधनों की संख्या सिस्टम में मौजूद है। सेमाफोर एस के मूल्य को केवल दो कार्यों द्वारा संशोधित किया जा सकता है रुकिए() तथा संकेत() इसके अलावा आरंभीकरण से।

प्रतीक्षा () और सिग्नल () ऑपरेशन सेमाफोर एस के मूल्य को अनिश्चित रूप से संशोधित करता है। जिसका मतलब है कि जब कोई प्रक्रिया सेमाफोर के मान को संशोधित कर रही है, तो कोई भी अन्य प्रक्रिया एक साथ सेमाफोर के मूल्य को संशोधित नहीं कर सकती है। इसके अलावा, ऑपरेटिंग सिस्टम दो श्रेणियों में सेमाफोर को अलग करता है गिनती सेमाफोर और बाइनरी सेमाफोर।

में सेमाफोर की गिनतीसेमाफोर एस का मान प्रणाली में मौजूद संसाधनों की संख्या के लिए आरंभिक है। जब भी कोई प्रक्रिया साझा संसाधनों तक पहुंच बनाना चाहती है, तो वह प्रदर्शन करती है रुकिए() सेमाफोर पर ऑपरेशन जो decrements एक के बाद एक सेमाफोर का मूल्य। जब यह साझा संसाधन जारी करता है, यह एक प्रदर्शन करता है संकेत() सेमाफोर पर ऑपरेशन जो वेतन वृद्धि एक के बाद एक सेमाफोर का मूल्य। जब सेमाफोर की गिनती होती है 0, इसका मतलब सभी संसाधनों पर कब्जा है प्रक्रियाओं द्वारा। यदि एक प्रक्रिया का उपयोग करने की आवश्यकता होती है जब अर्ध-गणना 0 होती है, तो यह प्रतीक्षा () और निष्पादित करता है अवरुद्ध जब तक साझा संसाधनों का उपयोग करने वाली प्रक्रिया इसे जारी नहीं करती है और अर्ध-मूल्य का मान 0 से अधिक हो जाता है।


में बाइनरी सेमाफोरसेमीफोर का मान 0 से 1. के बीच होता है। यह म्यूटेक्स लॉक के समान है, लेकिन म्यूटेक्स एक लॉकिंग मैकेनिज्म है, जबकि सेमाफोर एक सिग्नलिंग मैकेनिज्म है। बाइनरी सेमाफोर में, यदि कोई प्रक्रिया संसाधन का उपयोग करना चाहती है, तो वह सेमीफोर पर प्रतीक्षा () संचालन करती है और decrements 1 से 0. तक सेमाफोर का मान जब प्रक्रिया संसाधन जारी करती है, तो यह एक प्रदर्शन करता है संकेत() सेमाफोर पर ऑपरेशन और इसके मूल्य को बढ़ाता है। १. यदि सेमाफोर का मान ० है और एक प्रक्रिया संसाधन तक पहुँच प्राप्त करना चाहती है तो वह प्रतीक्षा () संचालन करती है और वर्तमान प्रक्रिया का उपयोग तब तक रोकती है जब तक संसाधन संसाधनों का उपयोग कर जारी नहीं करता।

मॉनिटर की परिभाषा

प्रक्रिया सिंक्रनाइज़ेशन के लिए सेमाफोर का उपयोग करते समय आने वाली समय त्रुटियों को दूर करने के लिए, शोधकर्ताओं ने एक उच्च-स्तरीय सिंक्रनाइज़ेशन निर्माण पेश किया है, अर्थात मॉनिटर प्रकार। एक मॉनिटर प्रकार है एक अमूर्त डेटा प्रकार कि प्रक्रिया तुल्यकालन के लिए प्रयोग किया जाता है।

सार डेटा प्रकार मॉनिटर प्रकार होने के नाते शामिल है साझा डेटा चर यह सभी प्रक्रियाओं और कुछ प्रोग्रामर-परिभाषित द्वारा साझा किया जाना है संचालन मॉनिटर के भीतर आपसी बहिष्करण में प्रक्रियाओं को निष्पादित करने की अनुमति देता है। एक प्रक्रिया हो सकती है सीधे पहुंच नहीं है मॉनिटर में साझा डेटा चर; प्रक्रिया को इसका उपयोग करना है प्रक्रियाओं के माध्यम से मॉनिटर में परिभाषित किया गया है जो एक समय में मॉनिटर में साझा चर तक पहुंचने के लिए केवल एक प्रक्रिया की अनुमति देता है।

मॉनिटर का सिंटैक्स निम्नानुसार है:

मॉनिटर मॉनिटर_नाम {// साझा चर घोषणा प्रक्रिया पी 1 (?)। {} प्रक्रिया पी 2 (।) {} प्रक्रिया पीएन ((।)।}}} आरंभीकरण कोड (।) {}।

एक मॉनिटर एक निर्माण है जैसे मॉनिटर के भीतर एक समय में केवल एक प्रक्रिया सक्रिय होती है। यदि अन्य प्रक्रिया साझा चर को मॉनिटर में एक्सेस करने का प्रयास करती है, तो यह अवरुद्ध हो जाता है और कतार में पंक्तिबद्ध हो जाता है ताकि पहले पहुंच प्रक्रिया जारी होने पर साझा डेटा तक पहुंच प्राप्त कर सके।

सशर्त चर अतिरिक्त सिंक्रनाइज़ेशन तंत्र के लिए पेश किए गए थे। सशर्त चर मॉनिटर के अंदर प्रतीक्षा करने के लिए एक प्रक्रिया की अनुमति देता है और जब दूसरी प्रक्रिया संसाधनों को जारी करती है, तो एक प्रतीक्षा प्रक्रिया को फिर से शुरू करने की अनुमति देता है।

सशर्त चर केवल दो ऑपरेशन कर सकते हैं रुकिए() तथा संकेत()। जहां अगर एक प्रक्रिया P एक प्रतीक्षा आमंत्रित करता है () ऑपरेशन यह अन्य प्रक्रिया तक मॉनिटर में निलंबित हो जाता है क्यू आह्वान संकेत () ऑपरेशन यानी सिग्नल () एक प्रक्रिया द्वारा लागू किया गया ऑपरेशन निलंबित प्रक्रिया को फिर से शुरू करता है।

  1. सेमाफोर और मॉनिटर के बीच बुनियादी अंतर यह है कि सिकंदरा है एक पूर्णांक चर एस जो सिस्टम में उपलब्ध संसाधनों की संख्या को इंगित करता है, जबकि, मॉनिटर है सार डेटा प्रकार जो एक समय में महत्वपूर्ण अनुभाग में निष्पादित करने के लिए केवल एक प्रक्रिया की अनुमति देता है।
  2. सेमाफोर के मूल्य को संशोधित किया जा सकता है रुकिए() तथा संकेत () केवल ऑपरेशन। दूसरी ओर, एक मॉनिटर में साझा चर और प्रक्रियाएं होती हैं, जिनके माध्यम से साझा किए गए चर को प्रक्रियाओं द्वारा पहुँचा जा सकता है।
  3. सेमाफोर में जब एक प्रक्रिया साझा संसाधनों तक पहुंचना चाहती है तो प्रक्रिया प्रदर्शन करती है रुकिए() संचालन और संसाधनों को ब्लॉक करना और जब यह संसाधनों को जारी करता है तो यह प्रदर्शन करता है संकेत() ऑपरेशन। मॉनिटर में जब साझा संसाधनों तक पहुंचने के लिए एक प्रक्रिया की आवश्यकता होती है, तो उन्हें मॉनिटर में प्रक्रियाओं के माध्यम से उन्हें एक्सेस करना पड़ता है।
  4. मॉनिटर प्रकार है हालत चर कौन सा सेमाफोर नहीं है।

निष्कर्ष:

सेमाफोर की तुलना में मॉनिटर को लागू करना आसान है, और सेमाफोर की तुलना में मॉनिटर में गलती की संभावना कम है।