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

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

वीडियो: सेमाफोर और मॉनिटर के बीच अंतर

वीडियो: सेमाफोर और मॉनिटर के बीच अंतर
वीडियो: तो ये होता है अंतरिक्ष और ब्रह्माण्ड के बीच का अंतर | The difference between Space and Universe 2024, नवंबर
Anonim

सेमाफोर बनाम मॉनिटर

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

सेमाफोर क्या है?

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

मॉनिटर क्या है?

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

सेमाफोर और मॉनिटर में क्या अंतर है?

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

सिफारिश की: