در 36 اسلاید قابل ویرایش
Deadlocksبن بست ها
كامپیوتر ها دارای منابع زیادی هستند كه در هر لحظه فقط توسط یك processمی توانند استفاده شوند . مثلا printer ها ،tape drive ها ، scanner ها ، slot های process table .
اگر دو پروسس همزمان بخواهند در یك slot درون process table بنویسند، باعث خراب شدن سیستم میشود.اگر دو پروسس بخواهند روی printer بنویسند حاصل آشغال خواهد بود.
بنا بر این تمام سیستمهای عامل قدرت تخصیص دسترسی انحصاری (به طور موقت) به منابع مشخصی را دارند . در بسیاری از برنامه های كاربردی ، process نیازانحصاری به چندین منبع را دارد . فرض كنیدقرار باشد نقشه یك كشور از روی یك cd ،روی یك plotterبرده شود . فرض كنید process Aدرخواست cd-Rom كند وcd-Rom به او تخصیص یابد. كمی بعد process Bدرخواست plotterكند وبه او داده شودحالا process A درخواست plotterكند،و در انتظار آن منبع ،block شود . سپس process B، تقاضای cd_Rom driverكند وblock شود . در این لحظه هر دوی process ها در حالت blockهستند و تا ابد در این حالت باقی می مانند . این وضعیت deadlockنام دارد.
منبع : هر چیزی است که در هر لحظه فقط توسط یک پروسس می تواند استفاده شود . منبع می تواند سخت افزاری یا نرم افزاری باشد .
Resource ها دو نوعند:
قابل پس گرفتن preemptable
غیر قابل پس گرفتن nonpreemptable
دنباله اتفاقات در مورد استفاده از یك منبع به این صورت است:
تقاضا برای منبع
استفاده از منبع
آزاد كردن منبع
اصول بن بست
تعریف رسمی بن بست این است:
مجموعه ای از processها در حالت بن بست قرار دارد اگر هر process
این مجموعه منتظر اتفاقی باشد كه فقط process دیگری در این مجموعه میتواند ایجادش كند.از آنجا ئیكه همه پروسس ها منتظر هستند،هرگزهیچ یك از آنها نمی تواند اتفاقی که باعث بیدار شدن عضو دیگری از مجموعه شود
را ایجاد کنند و همه process ها برای همیشه منتظر خواهند بود.
فنی و مهندسی