OS میں سیمفور اور مانیٹر کے درمیان فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 1 اپریل 2021
تازہ کاری کی تاریخ: 5 مئی 2024
Anonim
Semaphore اور Mutex میں کیا فرق ہے؟
ویڈیو: Semaphore اور Mutex میں کیا فرق ہے؟

مواد


سیمفور اور مانیٹر دونوں عمل کو باہمی خارج میں مشترکہ وسائل تک رسائی کی اجازت دیتے ہیں۔ دونوں عمل کی ہم آہنگی کے آلے ہیں۔ اس کے بجائے ، وہ ایک دوسرے سے بہت مختلف ہیں۔ کہاں سیمفور ایک عدد متغیر ہے جو ابتداء کے علاوہ صرف انتظار () اور سگنل () آپریشن کے ذریعہ چلایا جاسکتا ہے۔ دوسری طرف ، مانیٹر کریں ٹائپ ایک تجریدی اعداد و شمار کی قسم ہے جس کی تشکیل سے ایک وقت میں ایک عمل کو متحرک ہوجاتا ہے۔ اس مضمون میں ، ہم ذیل میں دکھائے گئے موازنہ چارٹ کی مدد سے سیمفور اور مانیٹر کے مابین فرق پر تبادلہ خیال کریں گے۔

  1. موازنہ چارٹ
  2. تعریف
  3. کلیدی اختلافات
  4. نتیجہ اخذ کرنا

موازنہ چارٹ

موازنہ کی بنیادسیمفور مانیٹر کریں
بنیادی سیمفورس ایک عدد متغیر ایس ہے۔مانیٹر ایک تجریدی اعداد و شمار کی قسم ہے۔
عملسیمفور ایس کی قدر نظام میں مشترکہ وسائل کی تعداد کی نشاندہی کرتی ہےمانیٹر کی قسم میں مشترکہ متغیر اور طریقہ کار کا سیٹ ہوتا ہے جو مشترکہ متغیر پر چلتے ہیں۔
رسائیجب کوئی عمل مشترکہ وسائل تک رسائی حاصل کرتا ہے تو وہ ایس پر انتظار () آپریشن انجام دیتا ہے اور جب مشترکہ وسائل کو جاری کرتا ہے تو وہ ایس پر سگنل () آپریشن انجام دیتا ہے۔جب کوئی عمل مانیٹر میں مشترکہ متغیر تک رسائی حاصل کرنا چاہتا ہے تو ، اسے طریقہ کار کے ذریعہ اس تک رسائ کی ضرورت ہے۔
حالت متغیرسیمفور میں حالت متغیر نہیں ہے۔مانیٹر میں حالت متغیر ہے۔


سیمفور کی تعریف

عمل کی ہم آہنگی کا آلہ ہونے کے ناطے ، سیمفور ایک عددی متغیر ایس۔ اس عددی متغیر S کو ابتدا میں ہے وسائل کی تعداد نظام میں موجود ہے۔ سیمفور ایس کی قدر کو صرف دو افعال کے ذریعہ تبدیل کیا جاسکتا ہے انتظار کرو() اور سگنل() ابتدا کے علاوہ۔

ویٹ () اور سگنل () آپریشن سیمفور ایس کی قدر کو اندھا دھند ترمیم کرتا ہے۔ جس کا مطلب ہے جب جب کوئی عمل سیمفور کی قدر میں ترمیم کر رہا ہوتا ہے تو ، کوئی دوسرا عمل بیک وقت سیمفور کی قدر میں ترمیم نہیں کرسکتا۔ مزید یہ کہ آپریٹنگ سسٹم سیمفور کو دو زمروں میں گنتی سیمفورس اور بائنری سیمفور سے ممتاز کرتا ہے۔

میں سیمفور کی گنتی، سیمفور ایس کی قدر کو سسٹم میں موجود وسائل کی تعداد سے شروع کیا جاتا ہے۔ جب بھی کوئی عمل مشترکہ وسائل تک رسائی حاصل کرنا چاہتا ہے تو وہ انجام دیتا ہے انتظار کرو() سیمفور پر آپریشن جو کمی ایک ایک کرکے سیمفور کی قدر۔ جب یہ مشترکہ وسیلہ جاری کرتا ہے ، تو یہ ایک انجام دیتا ہے سگنل() سیمفور پر آپریشن جو اضافہ ایک ایک کرکے سیمفور کی قدر۔ جب سیمفور کی گنتی ہوجاتی ہے 0، اس کا مطلب ہے تمام وسائل پر قابض ہیں عمل کے ذریعے اگر کسی عمل میں وسائل کو استعمال کرنے کی ضرورت ہو جب سیم پور کی گنتی 0 ہو ، تو یہ انتظار () پر عملدرآمد کرتا ہے اور حاصل کرتا ہے مسدود مشترکہ وسائل کو بروئے کار لانے تک کوئی عمل اسے جاری نہیں کرتا ہے اور سیمفور کی قدر 0 سے زیادہ ہوجاتی ہے۔


میں ثنائی سیمفور، سیمافور کی قدر 0 اور 1 کے درمیان ہوتی ہے۔ یہ بھی میٹیکس لاک کی طرح ہے ، لیکن ممٹیکس ایک تالا لگانے کا طریقہ کار ہے جبکہ ، سیمفور سگنلنگ میکانزم ہے۔ ثنائی سیمفور میں ، اگر کوئی عمل وسائل تک رسائ حاصل کرنا چاہتا ہے تو وہ سیمفور پر انتظار () آپریشن انجام دیتا ہے اور کمی سیمفور کی قدر 1 سے 0 تک۔ جب عمل وسائل کو جاری کرتا ہے تو ، یہ ایک سگنل() سیمافور پر آپریشن اور اس کی قیمت 1 تک بڑھ جاتی ہے۔ اگر سیمافور کی قدر 0 ہے اور کوئی عمل وسائل تک رسائی حاصل کرنا چاہتا ہے تو وہ انتظار کرتا ہے () آپریشن کرتا ہے اور اس وقت تک خود کو روک دیتا ہے جب تک وسائل کو بروئے کار لا کر وسائل کو جاری نہ کرے۔

مانیٹر کی تعریف

عمل مطابقت پذیری کے لئے سیمفور استعمال کرتے وقت ہونے والے وقت کی غلطیوں پر قابو پانے کے لئے ، محققین نے ایک اعلی سطح کی ہم آہنگی کی تعمیر متعارف کروائی ہے یعنی مانیٹر کی قسم. ایک مانیٹر کی قسم ہے ایک تجریدی اعداد و شمار کی قسم جو عمل کی ہم آہنگی کیلئے استعمال ہوتا ہے۔

ایک تجرید ڈیٹا ٹائپ مانیٹر ٹائپ ہونے کی وجہ سے مشترکہ ڈیٹا متغیر جو تمام پروسیسز اور کچھ پروگرامر سے طے شدہ کے ذریعہ شیئر کیا جائے آپریشنز جو مانیٹر کے اندر باہمی خارج ہونے پر عمل کو انجام دینے کی اجازت دیتے ہیں۔ ایک عمل کر سکتے ہیں براہ راست رسائی نہیں مانیٹر میں مشترکہ ڈیٹا متغیر؛ عمل تک اس تک رسائی حاصل کرنا ہے طریقہ کار کے ذریعے مانیٹر میں بیان کردہ ہے جو ایک وقت میں صرف ایک عمل کو مشترکہ متغیر تک رسائی حاصل کرنے کی اجازت دیتی ہے۔

مانیٹر کا نحو مندرجہ ذیل ہے:

مانیٹر مانیٹر_نیوم {// مشترکہ متغیر اعلامیے کا طریقہ کار P1 (..)}} طریقہ کار P2 (..)}} عمل Pn (..)}} ابتدا کوڈ (..) {}}

مانیٹر ایک تعمیر ہے جیسے مانیٹر کے اندر ایک وقت میں صرف ایک ہی عمل فعال ہوتا ہے۔ اگر دوسرا عمل مانیٹر میں مشترکہ متغیر تک رسائی حاصل کرنے کی کوشش کرتا ہے تو ، یہ بلاک ہوجاتا ہے اور مشترکہ اعداد و شمار تک رسائی حاصل کرنے کے لئے قطار میں کھڑا ہوجاتا ہے جب پہلے تک رسائی کے عمل میں ریلیز ہوتا ہے۔

مشروط متغیرات مطابقت پذیری کے اضافی میکانزم کے ل introduced پیش کیا گیا تھا۔ مشروط متغیر کسی عمل کو مانیٹر کے اندر انتظار کرنے کی اجازت دیتا ہے اور جب دوسرا عمل وسائل جاری کرتا ہے تو انتظار کے عمل کو دوبارہ شروع کرنے کی اجازت دیتا ہے۔

مشروط متغیر صرف دو آپریشن شروع کر سکتے ہیں انتظار کرو() اور سگنل() جہاں اگر ایک عمل ہے P انتظار کی دعا کرتا ہے () آپریشن مانیٹر میں دوسرے عمل تک معطل ہوجاتا ہے (ق) اشارہ سگنل () آپریشن یعنی عمل کے ذریعہ شروع کردہ سگنل () آپریشن معطل عمل کو دوبارہ شروع کرتا ہے۔

  1. سیمفور اور مانیٹر کے درمیان بنیادی فرق یہ ہے کہ سیمفور ایک عددی متغیر S جو نظام میں دستیاب وسائل کی تعداد کی نشاندہی کرتی ہے جبکہ ، مانیٹر کریں ہے تجریدی اعداد و شمار کی قسم جو ایک وقت میں صرف ایک عمل کو نازک حصے میں انجام دینے کی اجازت دیتا ہے۔
  2. سیمفور کی قدر میں ترمیم کی جا سکتی ہے انتظار کرو () اور سگنل () صرف آپریشن دوسری طرف ، ایک مانیٹر میں مشترکہ متغیرات اور طریقہ کار ہوتے ہیں جس کے ذریعے مشترکہ متغیرات کو عمل کے ذریعے حاصل کیا جاسکتا ہے۔
  3. سیمفور میں جب کوئی عمل مشترکہ وسائل تک رسائی حاصل کرنا چاہتا ہے تو عمل انجام دیتا ہے انتظار کرو() وسائل کو چلائیں اور مسدود کریں اور جب یہ وسائل کی رہائی کرتی ہے تو وہ انجام دیتا ہے سگنل() آپریشن. مانیٹر میں جب عمل کو مشترکہ وسائل تک رسائی حاصل کرنے کی ضرورت ہوتی ہے تو ، مانیٹر میں طریقہ کار کے ذریعہ ان تک رسائی حاصل کرنا ہوتی ہے۔
  4. مانیٹر کی قسم ہے حالت متغیر جو سیمفور نہیں ہے۔

نتیجہ:

سیمیفور کے مقابلے میں مانیٹر نافذ کرنا آسان ہے ، اور سیمیفورس کے مقابلے میں مانیٹر میں غلطی کا امکان بہت کم ہے۔