ओएस मधील सेमाफोर आणि मॉनिटर दरम्यान फरक

लेखक: Laura McKinney
निर्मितीची तारीख: 1 एप्रिल 2021
अद्यतन तारीख: 5 मे 2024
Anonim
ओएस मधील सेमाफोर आणि मॉनिटर दरम्यान फरक - तंत्रज्ञान
ओएस मधील सेमाफोर आणि मॉनिटर दरम्यान फरक - तंत्रज्ञान

सामग्री


सेमाफोर आणि मॉनिटर दोन्ही प्रक्रियांना परस्पर वगळण्यात सामायिक संसाधनांमध्ये प्रवेश करण्याची परवानगी देतात. दोन्ही प्रक्रिया सिंक्रोनाइझेशन साधन आहेत. त्याऐवजी ते एकमेकांपासून खूप वेगळे आहेत. कोठे सेमाफोर इंटिजर व्हेरिएबल आहे जे इनिशिएलायझेशनशिवाय केवळ वेट () आणि सिग्नल () ऑपरेशनद्वारे ऑपरेट केले जाऊ शकते. दुसरीकडे, द निरीक्षण करा प्रकार हा एक अमूर्त डेटा प्रकार आहे ज्याची रचना एका वेळी एका प्रक्रियेस सक्रिय होण्यास अनुमती देते. या लेखात, आम्ही खाली दर्शविलेले तुलना चार्टच्या मदतीने सेमफोर आणि मॉनिटरमधील फरकांवर चर्चा करू.

  1. तुलना चार्ट
  2. व्याख्या
  3. मुख्य फरक
  4. निष्कर्ष

तुलना चार्ट

तुलनासाठी आधारसेमाफोर निरीक्षण करा
मूलभूत सेमाफोर्स एक पूर्णांक व्हेरिएबल एस.मॉनिटर एक अमूर्त डेटा प्रकार आहे.
कृतीसेमाफोर एस चे मूल्य सिस्टममध्ये सामायिक केलेल्या संसाधनांची संख्या दर्शवितेमॉनिटर प्रकारात शेअर्ड व्हेरिएबल्स आणि शेअरी व्हेरिएबलवर कार्य करणार्‍या प्रक्रियेचा संच असतो.
प्रवेशजेव्हा कोणतीही प्रक्रिया सामायिक केलेल्या संसाधनांमध्ये प्रवेश करते तेव्हा ती एस वर प्रतीक्षा () ऑपरेशन करते आणि जेव्हा ती सामायिक संसाधने सोडते तेव्हा ती एस वर सिग्नल () ऑपरेशन करते.जेव्हा कोणत्याही प्रक्रियेस मॉनिटरमधील सामायिक चलांमध्ये प्रवेश करण्याची इच्छा असते, तेव्हा त्यास प्रक्रियेद्वारे त्यात प्रवेश करणे आवश्यक असते.
अट चलसेमाफोरमध्ये कंडिशन व्हेरिएबल्स नसतात.मॉनिटरमध्ये अट व्हेरिएबल्स असतात.


सेमाफोर व्याख्या

प्रक्रिया समक्रमण साधन असल्याने, सेमाफोर एक आहे पूर्णांक व्हेरिएबल एस. हे पूर्णांक वेरियबल एस ला प्रारंभ केले आहे स्त्रोत संख्या प्रणाली मध्ये उपस्थित. सेमॅफोर एस चे मूल्य केवळ दोन फंक्शन्सद्वारे सुधारित केले जाऊ शकते प्रतीक्षा करा() आणि सिग्नल() इनिशिएलायझेशन व्यतिरिक्त.

प्रतीक्षा () आणि सिग्नल () ऑपरेशन semaphore S चे मूल्य अविभाज्यपणे सुधारित करते. याचा अर्थ जेव्हा प्रक्रिया सेमफोरचे मूल्य सुधारित करते तेव्हा कोणतीही इतर प्रक्रिया एकाच वेळी सेमफोरचे मूल्य सुधारू शकत नाही. पुढे, ऑपरेटिंग सिस्टम सेमॅफोरला मोजणीचे सेमॅफोअर्स आणि बायनरी सेमॅफोर अशा दोन श्रेणींमध्ये फरक करते.

मध्ये सेमाफोर मोजत आहे, सेमॅफोर एस चे मूल्य सिस्टममध्ये अस्तित्त्वात असलेल्या स्त्रोतांच्या संख्येपासून आरंभ केले जाते. जेव्हा जेव्हा प्रक्रिया सामायिक संसाधनांमध्ये प्रवेश करू इच्छित असते तेव्हा ती कार्य करते प्रतीक्षा करा() सेमफॉरवर ऑपरेशन जे घट सेमफोरचे मूल्य एक करून. जेव्हा ते सामायिक केलेला स्रोत रीलीझ करते, तेव्हा ते एक सिग्नल() सेमफॉरवर ऑपरेशन जे वाढ सेमफोरचे मूल्य एक करून. जेव्हा सेमॅफोरची गणना होईल 0, याचा अर्थ सर्व संसाधने व्यापल्या आहेत प्रक्रियेद्वारे. जेव्हा सेमॅफोरची संख्या 0 असते तेव्हा प्रक्रियेस संसाधन वापरण्याची आवश्यकता असल्यास ती प्रतीक्षा कार्यान्वित करते () आणि मिळवा अवरोधित सामायिक संसाधनांचा वापर होईपर्यंत प्रक्रिया ती सोडत नाही आणि सेमफोरचे मूल्य 0 पेक्षा जास्त होते.


मध्ये बायनरी सेमफोरसेमाफोरचे मूल्य 0 आणि 1 दरम्यान असते. हे म्युटेक्स लॉकसारखेच आहे, परंतु म्युटेक्स एक लॉकिंग यंत्रणा आहे, तर सेमाफोर एक सिग्नलिंग यंत्रणा आहे. बायनरी सेमफोरमध्ये, जर एखाद्या प्रक्रियेस संसाधनात प्रवेश मिळवायचा असेल तर ती सेमफॉरवर प्रतीक्षा () ऑपरेशन करते आणि घट सेमॅफोरचे मूल्य 1 ते 0 पर्यंत असते. जेव्हा प्रक्रिया संसाधन रीलीझ करते, तेव्हा ती ए सिग्नल() सेमफोरवरील ऑपरेशन आणि त्याचे मूल्य 1 पर्यंत वाढवते जर सेमाफोरचे मूल्य 0 असेल आणि एखाद्या प्रक्रियेस संसाधनात प्रवेश मिळवायचा असेल तर ती प्रतीक्षा () ऑपरेशन करते आणि सद्य प्रक्रियेद्वारे संसाधनांचा वापर होईपर्यंत संसाधनास मुक्त करते.

मॉनिटरची व्याख्या

प्रक्रिया सिंक्रोनाइझेशनसाठी सेमॅफोर वापरताना होणार्‍या वेळेच्या त्रुटींवर मात करण्यासाठी, संशोधकांनी उच्च-स्तरीय सिंक्रोनाइझेशन कन्स्ट्रक्शन सादर केले आहे म्हणजे. मॉनिटर प्रकार. एक मॉनिटर प्रकार आहे एक अमूर्त डेटा प्रकार ते प्रक्रिया सिंक्रोनाइझेशनसाठी वापरले जाते.

एक अ‍ॅबस्ट्रॅक्ट डेटा प्रकार मॉनिटर प्रकार असल्याने सामायिक डेटा चल त्या सर्व प्रक्रिया आणि काही प्रोग्रामर-परिभाषित सामायिक केल्या पाहिजेत ऑपरेशन्स जे मॉनिटरमध्ये परस्पर अपवर्जन प्रक्रियांना कार्यवाही करण्यास अनुमती देतात. एक प्रक्रिया करू शकता थेट प्रवेश नाही मॉनिटरमध्ये सामायिक केलेला डेटा व्हेरिएबल; प्रक्रियेस त्यात प्रवेश करणे आवश्यक आहे प्रक्रियेद्वारे मॉनिटरमध्ये परिभाषित केले आहे जे एकाच वेळी मॉनिटरमध्ये सामायिक केलेल्या व्हेरिएबल्समध्ये केवळ एकाच प्रक्रियेस प्रवेश करण्यास अनुमती देते.

मॉनिटरचा वाक्यरचना खालीलप्रमाणे आहेः

मॉनिटर मॉनिटर_नाव {// सामायिक चल घोषित प्रक्रिया पी 1 (..) rations} प्रक्रिया पी 2 (..)}} प्रक्रिया पीएन (..)}} आरंभ कोड (..) {}}

एक मॉनिटर एक बांधकाम आहे जसे की मॉनिटरमध्ये एका वेळी फक्त एक प्रक्रिया सक्रिय असते. जर अन्य प्रक्रिया मॉनिटरमध्ये सामायिक केलेल्या व्हेरिएबलमध्ये प्रवेश करण्याचा प्रयत्न करीत असेल तर ती अवरोधित होईल आणि पूर्वी प्रवेश करण्याच्या प्रक्रियेमध्ये ती प्रकाशीत झाल्यावर सामायिक केलेल्या डेटावर प्रवेश मिळण्यासाठी रांगेत उभे राहिले आहे.

सशर्त चल अतिरिक्त सिंक्रोनाइझेशन यंत्रणेसाठी सादर केले गेले होते. सशर्त चल मॉनिटरच्या आत प्रक्रिया थांबविण्यास परवानगी देते आणि जेव्हा इतर प्रक्रिया संसाधने सोडते तेव्हा प्रतीक्षा प्रक्रिया त्वरित पुन्हा सुरू करण्याची परवानगी देते.

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

  1. सेमफॉर आणि मॉनिटर यातील मूलभूत फरक म्हणजे तो semaphore एक आहे पूर्णांक व्हेरिएबल एस जे सिस्टममध्ये उपलब्ध स्त्रोतांची संख्या दर्शवितात, तर निरीक्षण आहे अमूर्त डेटा प्रकार जे एका वेळी गंभीर विभागात कार्य करण्यासाठी केवळ एकाच प्रक्रियेस अनुमती देते.
  2. सेमफोरचे मूल्य द्वारा सुधारित केले जाऊ शकते प्रतीक्षा () आणि सिग्नल () केवळ ऑपरेशन. दुसरीकडे, मॉनिटरमध्ये सामायिक व्हेरिएबल्स असतात आणि प्रक्रिया ज्याद्वारे सामायिक व्हेरिएबल्सद्वारे प्रवेश केला जाऊ शकतो.
  3. सेमाफोरमध्ये जेव्हा प्रक्रिया सामायिक संसाधनांमध्ये प्रवेश करू इच्छित असेल तेव्हा प्रक्रिया करते प्रतीक्षा करा() ऑपरेशन करा आणि संसाधने अवरोधित करा आणि जेव्हा ते कार्य करते संसाधने सोडतील सिग्नल() ऑपरेशन. मॉनिटर्समध्ये जेव्हा प्रक्रियेस सामायिक संसाधनांमध्ये प्रवेश करणे आवश्यक असते तेव्हा मॉनिटरमध्ये प्रक्रियेद्वारे त्यामध्ये प्रवेश करणे आवश्यक असते.
  4. मॉनिटर प्रकार आहे कंडिशन व्हेरिएबल्स जे सेमॅफोरमध्ये नाही.

निष्कर्ष:

सेमॅफोरपेक्षा मॉनिटर्सची अंमलबजावणी करणे सोपे आहे आणि सेमॅफोर्सच्या तुलनेत मॉनिटरमध्ये चुकण्याची शक्यता कमी आहे.