آپریٹنگ سسٹم میں ڈیڈ لاک کیا ہے: ضوابط اور کھوج الگورتھم

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





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

آپریٹنگ سسٹم میں تعطل کیا ہے؟

تعریف: ڈیڈ لاک ایسی صورتحال ہے جہاں دو یا دو سے زیادہ پروسیسرز کسی نہ کسی واقعہ کے ہونے کا انتظار کر رہے ہیں ، لیکن اس طرح کے واقعات جو وقوع پذیر نہیں ہوتے ہیں وہ ایک ڈیڈ لاک حالت ہے ، اور کہا جاتا ہے کہ پروسیسر ڈیڈ لاک کی حالت میں ہیں۔ مثال کے طور پر ، ہم ایک حقیقی وقت کا منظر پیش کرتے ہیں ، جہاں ایک طرفہ روڈ پر دو انفرادی ڈرائیوروں کے ذریعہ چلنے والی دو کاریں A & B موجود ہیں۔ اب صورتحال یہ پیدا ہو رہی ہے جہاں کار اے ڈرائیور کا کہنا ہے کہ وہ شمال کی طرف بڑھ رہا ہے ایک درست سمت ہے ، جبکہ کار بی ڈرائیور کا کہنا ہے کہ وہ جنوب کی سمت کی طرف بڑھ رہا ہے۔ لیکن دونوں میں سے کوئی بھی دوسری گاڑی کو آگے بڑھنے کی اجازت دینے کے لئے پیچھے نہیں ہٹتا ، اس حالت کو ڈیڈ لاک حالت کہتے ہیں۔




کار کی مثال

کار کی مثال

بہتر تفہیم کے ل us ہم ایک اور مثال پر غور کریں جہاں دو وسائل R1 ، R2 ، اور دو عمل P1 اور P2 ہیں ، جہاں R1 P1 کو تفویض کیا گیا ہے اور R2 P2 کو تفویض کیا گیا ہے۔ اب اگر P1 R2 تک رسائی حاصل کرنا چاہتا ہے ، جیسا کہ ہم پہلے ہی جانتے ہیں کہ R2 P2 کے پاس ہے ، اور اب P2 R1 تک رسائی حاصل کرنا چاہتا ہے ، جو P1 صرف اس وقت عمل میں آتا ہے جب اسے R2 تک رسائی حاصل ہوتی ہے ، P2 بھی صرف اس وقت انجام دیتا ہے جب اسے R1 تک رسائی حاصل ہوجاتی ہے۔ ایک تعطل والی حالت ہے۔



پروسیسر مثال

پروسیسر مثال کے طور پر

مردہ لاک حالات

مندرجہ ذیل چار اہم تعطل کے حالات ہیں جن میں پیش آنے کے ل if اگر تمام حالات ایک ساتھ ہوجاتے ہیں تو تعطل کے کچھ امکانات موجود ہیں۔

باہمی علیحدگی

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

باہمی علیحدگی

باہمی علیحدگی

قبل از امتیاز نہیں

کے مطابق پری جذباتی اگر مختلف ترجیحی کام موجودہ کام میں رکاوٹ ڈالنے کی کوشش کر رہا ہو تو ، الگورتھم پر مبنی۔ پہلے سے خالی الگورتھم اس میں موجودہ کام کا حامل ہے اور پہلے کام کو ترجیح دیتا ہے اور اپنے پہلے کام کی پشت پناہی حاصل کرتا ہے۔ مندرجہ بالا مثال کے مطابق ایک ایسی صورتحال کی وضاحت کی گئی ہے جہاں کوئی عمل اس وقت تک وسائل پر قابو پاتا ہے جب تک کہ اس پر عمل درآمد ہوتا ہے ، یعنی P1 R1 صرف پھانسی کے بعد ہی جاری کرسکتا ہے ، اسی طرح P2 صرف R2 کو پھانسی کے بعد ہی رہ سکتا ہے۔ اگر قبل از وقت زبردستی نہ ہو تو تعطل پیدا ہوسکتا ہے۔


کوئی پیشگی مثال نہیں

کوئی پیشگی مثال نہیں

رکو اور رکو

ایک عمل میں کچھ وسائل ہوتے ہیں اور اضافی وسائل کے منتظر ہوتے ہیں لیکن وہ وسائل کسی اور عمل کے ذریعہ حاصل ہوتے ہیں۔ مندرجہ بالا مثال سے ، P1 R1 کا انعقاد کر رہا ہے اور R2 کا انتظار کر رہا ہے ، جہاں R2 P2 کے ذریعہ حاصل کیا گیا ہے ، اور P2 R2 کا انعقاد کر رہا ہے اور R1 کا انتظار کر رہا ہے ، جہاں P1 P1 کے ذریعہ حاصل کیا گیا ہے اور سسٹم میں انتظار کی صورتحال تعطل پیدا ہوسکتی ہے۔

انعقاد اور انتظار کی مثال

انعقاد اور انتظار کی مثال

سرکلر رکو

کہا جاتا ہے کہ عمل کا ایک نظام تعطل میں ہے اگر ایک عمل کسی ایسے وسائل کا انتظار کر رہا ہو جس کو دوسرے پروسیس کے لئے مختص کیا جاتا ہو اور وہ عمل کسی وسائل کا منتظر ہو ، تو یہ مذکورہ بالا مثال کی طرح ہے جہاں یہ لوپ کی شکل میں ہے۔ جہاں P1 R2 کا انتظار کر رہا ہے اور R2 P2 کے لئے مختص ہے اور P2 P1 کے لئے مختص R1 اور R1 کا انتظار کر رہا ہے جو ایک سرکلر ویٹ فارم ہے اگر یہ حالت تعطل سے مطمئن ہوتی ہے تو۔

سرکلر-رکو-مثال

سرکلر-انتظار کی مثال

ڈیڈ لاک ڈیٹیکشن الگورتھم

ایسے معاملات جہاں ہم عمل کے ل resources وسائل مختص کرتے ہیں ، اور آپریٹنگ سسٹم کی جانچ پڑتال ہوتی ہے کہ آیا نظام میں تعطل آیا ہے یا 2 اہم تعطل کا پتہ لگانے والے الگورتھم استعمال نہیں کرتے ہیں ،

  • ایک مثال
  • وسائل کی قسم کے متعدد واقعات

ایک مثال

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

  • وسائل مختص کرنے کا گراف: وسائل کی تقسیم کے گراف میں عمل P1 ، P2 ، P3 اور وسائل R1 ، R2 ، R3 کی نمائندگی کی جاتی ہے۔
  • گراف کا انتظار کریں: گراف کے انتظار میں صرف عمل پی 1 ، پی 2 ، پی 3 کا ذکر کیا گیا ہے۔
  • اگر چکر کی حالت ہو تو ، اگر کسی سمت میں کسی عمل کا مستقل بہاؤ ہوتا ہے تو اس کا مطلب سائیکل کی حالت ختم ہوجاتی ہے اور گراف کا انتظار کرنا ڈیڈ لاک حالت میں ہے۔

مثال 1: مندرجہ ذیل مثال سے پتہ چلتا ہے کہ کوئی ڈیڈ لاک حالت نہیں ہے کیونکہ گراف کے انتظار میں مسلسل بہاؤ نہیں پایا جاتا ہے۔

سنگل مثال Example

مثال کے طور پر مثال 1

مثال 2: ڈیڈ لاک کی صورتحال واقع ہوگئی ہے کیونکہ P1 سے P4 تک سائیکل کا مستقل بہاؤ موجود ہے۔

ایک مثال - مثال 2

مثال کے طور پر مثال کے طور پر

اگر نظام میں تعطل بہت کثرت سے ہوتا ہے تو پھر پتہ لگانے والا الگورتھم کثرت سے استعمال ہوتا ہے۔ اگر انکشاف الگورتھم کا زیادہ استعمال ہوتا ہے تو پھر زیادہ ہیڈ اور حساب کا وقت زیادہ ہوگا۔ لہذا اس پر قابو پانے کے ل we ، ہم یکساں وقت کے ساتھ الگورتھم کا مطالبہ کرتے ہیں ، اسی طرح ڈیف لاک کا پتہ لگانے کے لئے گراف کا وزن اسی طرح استعمال ہوتا ہے۔

وسائل کی قسم کے متعدد واقعات

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

آئیے ہم مندرجہ ذیل مثال پر غور کریں ، فرض کریں کہ وہاں 3 عمل P0 ، P1 ، P2 ، اور وسائل کی قسم A ، B ، C موجود ہیں جہاں A ہوسکتا ہے سی پی یو ، بی پرنٹر ہوسکتا ہے اور سی کی بورڈ ہوسکتا ہے۔ کالم میں موجود ہندسے '0' وسائل کی دستیابی کی نمائندگی کرتے ہیں۔

کیس (i): فرض کریں کہ اگر ہم شرط لگاتے ہیں تو '000' حالت ہے جو P0 اور P2 میں موجود ہے ، ہمیں جانچ پڑتال کرنی چاہئے کہ کون سی درخواست پوری ہوئی ہے ، عمل P0 مختص ہونے کے بعد عمل جاری کرتا ہے ، پھر اگلی P2 مختص ہونے کے بعد جاری ہوجاتی ہے۔ اس طرح ، ایک ترتیب میں ، ایک ایک کرکے ایک ترتیب میں P0، P2، P3، P1، P4 جاری ہوتا ہے۔ آخر میں ، ہمیں P7 ، P2 ، P6 کے بطور دستیاب وسائل ملتے ہیں۔ دستیاب تسلسل ایک ایسی حالت ہے جہاں تعطل نہیں ہے۔

بینکرس - الگورتھم-مثال 1

بینکرس - الگورتھم-مثال 1

مکانات (ii): فرض کریں کہ اگر P2 000 کی بجائے 001 ہے ، تو اب ڈیڈ لاک کی حالت کی جانچ کے ل the بینکر کے الگورتھم کا اطلاق کریں ، جہاں تمام 5 عملوں میں صرف P0 ہی عملدرآمد ہوتا ہے۔ لہذا P1 ، P2 ، P3 ، P4 P0 کے علاوہ ڈیڈلاک حالت میں ہے۔

بینکرس - مثال 2

بینکرس - مثال 2

ڈیڈ لاک کی ایپلی کیشنز

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

فوائد

ڈیڈ لاک کے فوائد ہیں

  • ڈیڈ لاک سے بچنے میں قبل از وقت امتیازی مشاہدہ نہیں کیا جاتا ہے
  • عمل میں تاخیر نہیں

نقصانات

تعطل کا نقصان ہے

  • استعمال ہونے والے وسائل کو پہلے ہی معلوم ہونا چاہئے
  • ایک طویل وقت کے لئے عمل میں رکاوٹ
  • قبل از خالی نقصان وراثت میں ملا ہے۔

اس مضمون میں دو یا دو سے زیادہ عمل ہونے اور ڈیڈ لاک ہونے کا سبب بننے والی تین شرائط کے بارے میں جائزہ لیا گیا ہے ، اور دو طرح کے الگورتھم یعنی ریسورس شیئرنگ الگورتھم جس کا پتہ چلتا ہے وہ موجود ہے ڈیڈ لاک حالت اور بینکوں کا الگورتھم جو تعطل سے بچنے کا الگورتھم ہے۔ یہاں سوال یہ ہے کہ 'اگر تعطل کو نظرانداز کردیا گیا تو کیا ہوتا ہے؟'