सेमाफोर बनाम म्यूटेक्स
विषय
सेमाफोर और म्यूटेक्स के बीच का अंतर यह है कि सेमाफोर एक संकेतन तंत्र है जबकि म्यूटेक्स लॉकिंग तंत्र है।
ऑपरेटिंग सिस्टम कंप्यूटर विज्ञान में सबसे महत्वपूर्ण अवधारणा है ऑपरेटिंग सिस्टम में, दो मुख्य अवधारणाएं सेमीफोर और म्यूटेक्स हैं। सेमाफोर और म्यूटेक्स के बीच बहुत अंतर है। अगर हम मुख्य अंतर के बारे में बात करते हैं, तो सेमीफोर और म्यूटेक्स के बीच मुख्य अंतर यह है कि सेमाफोर एक सिग्नलिंग तंत्र है जबकि म्यूटेक्स लॉकिंग तंत्र है।
सेमाफोर और म्यूटेक्स के बीच का अंतर प्रक्रियाओं में आता है; सेमाफोर प्रतीक्षा () और सिग्नल () ऑपरेशन करता है, यह फ़ंक्शन यह जानने के लिए ज़िम्मेदार है कि उन्होंने अधिग्रहण किया है या उन्होंने संसाधन जारी किया है। दूसरी ओर, अगर हम म्यूटेक्स के बारे में बात करते हैं, तो म्यूटेक्स लॉकिंग तंत्र है।
सेमाफोर एक पूर्णांक चर S है; सेमाफोर एक सिग्नलिंग तंत्र है। एक ऑपरेटिंग सिस्टम में, एक सिंक्रनाइज़ेशन टूल की आवश्यकता होती है, और ऑपरेटिंग सिस्टम में उस टूल को एक सेमाफोर के रूप में जाना जाता है। सेमाफोर के दो मुख्य कार्य हैं जो प्रतीक्षा कर रहे हैं (), सिग्नल ()। सेमाफोर मूल्य को दो कार्यों के साथ बदल दिया जाता है जो प्रतीक्षा कर रहे हैं () और संकेत ()। जब कोई प्रक्रिया किसी संसाधन का उपयोग कर रही होती है, तो सेमीफोर प्रतीक्षा पर () होता है, और जब प्रक्रिया संसाधन का उपयोग करती है, और वह संसाधन मुक्त होता है, तब सेमीफोर सिग्नल देता है ()। ये फ़ंक्शन जो प्रतीक्षा () और सिग्नल () हैं, इनका उपयोग किया जाता है क्योंकि केवल एक प्रक्रिया एक समय में संसाधन का उपयोग कर सकती है। एक संसाधन को दो प्रक्रियाओं के लिए नहीं दिया जा सकता है। ऑपरेटिंग सिस्टम में दो प्रकार के सेमाफोर होते हैं जो बाइनरी सेमाफोर और काउंटिंग सेमाफोर होते हैं। गिनती के सेमाफोर में, प्रारंभिक मूल्य उन संसाधनों की संख्या है जो उपलब्ध हैं। जब कोई प्रक्रिया किसी संसाधन का उपयोग कर रही होती है, तो वह प्रतीक्षा () का सामना करती है और उस संसाधन की प्रतीक्षा करनी होती है। सेमाफोर मान की गणना एक-एक करके की जाती है। जब कोई प्रक्रिया किसी संसाधन का उपयोग करती है, तो वह उस संसाधन को जारी करती है और संकेत () जारी करती है ताकि वह दूसरी प्रक्रिया के लिए मुक्त हो। जब संसाधनों की गिनती 0 होती है, तो इसका मतलब है कि आने वाली प्रक्रिया के लिए कोई संसाधन उपलब्ध नहीं है। बाइनरी सेमाफोर में दो मान हैं जो 0 हैं और 1. जब प्रक्रिया बाइनरी सेमाफोर के संसाधन मान का उपयोग 1 से 0 कर रही है और जब किसी संसाधन ने संसाधन का उपयोग किया है तो बाइनरी सेमाफोर का मान 1 से 0 तक है।
म्यूटेक्स को आपसी बहिष्करण वस्तु के रूप में भी जाना जाता है। हम जानते हैं कि केवल एक प्रक्रिया एक समय में एक संसाधन का उपयोग कर सकती है। यही कारण है कि लॉकिंग की एक प्रणाली है, और लॉक की उस प्रणाली को म्यूटेक्स के रूप में जाना जाता है। Mutex लॉक एक प्रक्रिया को दिया जाता है जब वह प्रक्रिया एक संसाधन का उपयोग कर रही हो। म्यूटेक्स ऑब्जेक्ट का एक अद्वितीय नाम और आईडी है। एक प्रोग्राम में जब भी म्यूटेक्स लॉक की आवश्यकता होती है, म्यूटेक्स लॉक को उसके नाम और आईडी द्वारा बुलाया जाता है। यदि हम म्यूटेक्स का कोड देखते हैं, तो हमें म्यूटेक्स लॉक के कार्यान्वयन और उपयोग की स्पष्ट समझ होगी।
सामग्री: सेमाफोर और म्यूटेक्स के बीच अंतर
- तुलना चार्ट
- सिकंदरा
- म्युटेक्स
- निष्कर्ष
- व्याख्यात्मक वीडियो
तुलना चार्ट
आधार | सिकंदरा | म्युटेक्स |
अर्थ | सेमाफोर एक सिग्नलिंग तंत्र है | म्यूटेक्स एक लॉकिंग तंत्र है। |
मूल्य | सेमाफोर एक पूर्णांक है। | एक म्यूटेक्स एक ऑब्जेक्ट है। |
ऑपरेशन | सेमाफोर प्रतीक्षा () और सिग्नल () का संचालन। | म्यूटेक्स के संचालन लॉक और अनलॉक हैं |
प्रकार | सेमाफोर दो प्रकार के सेमाफोर और बाइनरी सेमाफोर की गिनती कर रहे हैं। | किसी प्रकार के म्यूटेक्स लॉक नहीं हैं। |
सिकंदरा
सेमाफोर एक पूर्णांक चर S है; सेमाफोर एक सिग्नलिंग तंत्र है। एक ऑपरेटिंग सिस्टम में, एक सिंक्रनाइज़ेशन टूल की आवश्यकता होती है, और ऑपरेटिंग सिस्टम में उस टूल को एक सेमाफोर के रूप में जाना जाता है। सेमाफोर के दो मुख्य कार्य हैं जो प्रतीक्षा कर रहे हैं (), सिग्नल ()। सेमाफोर मूल्य को दो कार्यों के साथ बदल दिया जाता है जो प्रतीक्षा कर रहे हैं () और संकेत ()। जब कोई प्रक्रिया किसी संसाधन का उपयोग कर रही होती है, तो सेमीफोर प्रतीक्षा पर () होता है, और जब प्रक्रिया संसाधन का उपयोग करती है, और वह संसाधन मुक्त होता है, तब सेमीफोर सिग्नल देता है ()। ये फ़ंक्शन जो एक प्रतीक्षा () और सिग्नल () हैं, इनका उपयोग किया जाता है क्योंकि केवल एक प्रक्रिया एक समय में संसाधन का उपयोग कर सकती है।
एक संसाधन को दो प्रक्रियाओं के लिए नहीं दिया जा सकता है। ऑपरेटिंग सिस्टम में दो प्रकार के सेमाफोर होते हैं जो बाइनरी सेमाफोर और काउंटिंग सेमाफोर होते हैं। गिनती के सेमाफोर में, प्रारंभिक मूल्य उन संसाधनों की संख्या है जो उपलब्ध हैं। जब कोई प्रक्रिया किसी संसाधन का उपयोग कर रही होती है, तो वह प्रतीक्षा () का सामना करती है और उस संसाधन की प्रतीक्षा करनी होती है। सेमाफोर मान की गणना एक-एक करके की जाती है। जब कोई प्रक्रिया किसी संसाधन का उपयोग करती है, तो वह उस संसाधन को जारी करती है और संकेत () जारी करती है ताकि वह दूसरी प्रक्रिया के लिए मुक्त हो। जब संसाधनों की गिनती 0 होती है, तो इसका मतलब है कि आने वाली प्रक्रिया के लिए कोई संसाधन उपलब्ध नहीं है। बाइनरी सेमाफोर में दो मान हैं जो 0 हैं और 1. जब प्रक्रिया बाइनरी सेमाफोर के संसाधन मान का उपयोग 1 से 0 कर रही है और जब किसी संसाधन ने संसाधन का उपयोग किया है तो बाइनरी सेमाफोर का मान 1 से 0 तक है।
म्युटेक्स
म्यूटेक्स को आपसी बहिष्करण वस्तु के रूप में भी जाना जाता है। हम जानते हैं कि केवल एक प्रक्रिया एक समय में एक संसाधन का उपयोग कर सकती है। यही कारण है कि लॉकिंग की एक प्रणाली है, और लॉक की उस प्रणाली को म्यूटेक्स के रूप में जाना जाता है। Mutex लॉक एक प्रक्रिया को दिया जाता है जब वह प्रक्रिया एक संसाधन का उपयोग कर रही हो। म्यूटेक्स ऑब्जेक्ट का एक अद्वितीय नाम और आईडी है। एक प्रोग्राम में जब भी म्यूटेक्स लॉक की आवश्यकता होती है, म्यूटेक्स लॉक को उसके नाम और आईडी द्वारा बुलाया जाता है। यदि हम म्यूटेक्स का कोड देखते हैं, तो हमें म्यूटेक्स लॉक के कार्यान्वयन और उपयोग की स्पष्ट समझ होगी।
मुख्य अंतर
- सेमाफोर एक सिग्नलिंग तंत्र है जबकि म्यूटेक्स लॉकिंग है
- सेमाफोर एक पूर्णांक है जबकि म्यूटेक्स एक वस्तु है।
- सेमाफोर प्रतीक्षा () और सिग्नल () का संचालन जबकि म्यूटेक्स के संचालन लॉक और अनलॉक हैं।
- दो प्रकार के सेमाफोर सेमाफोर और बाइनरी सेमाफोर की गिनती कर रहे हैं, जबकि म्यूटेक्स के कोई प्रकार नहीं हैं
निष्कर्ष
ऊपर इस लेख में हम उनके उचित कार्यान्वयन के साथ सेमाफोर और म्यूटेक्स के बीच स्पष्ट अंतर देखते हैं।