دسته : -پاورپوینت
فرمت فایل : powerpoint
حجم فایل : 849 KB
تعداد صفحات : 36
بازدیدها : 169
برچسبها : دانلود پاورپوینت
مبلغ : 6000 تومان
خرید این فایلپاورپوینت بررسی بن بست ها در 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 ها برای همیشه منتظر خواهند بود.
شرایط لازم برای بوجود آمدن بن بست
Coffman و چند نفر دیگر (1971) نشان دادند که چهار شرط برای بوجود آمدن بن بست لازم است :
شرط ” دو بدو ناسازگاری “ Mutual exclusion
شرط ” نگهدار و منتظر شو “Hold and wait
شرط“ غیر قابل پس گرفتن “ No preemption
شرط“ انتظار دایره ای “Circular wait condition
پیشگیری از بن بست DEADLOCK PREVENTION
اگر منبع به طور اختصاصی به پروسس داده شود هرگز بن بست پیش نمی آید.
جلوی در اختیار گرفتن منابع و انتظار برای منابع دیگر را بگیریم.
استفاده از منابع بصورت NONPREEMPTIVEنباشد ولی این روش مناسب نیست .
جلوگیری از انتظار چرخشی
روش اول: هر پروسس كه منبع اول را گرفت و به منبع دوم نیاز داشت ابتدا منبع اول را رها كند.
روش دوم: یك شماره سراسری به هر منبع داده شود.هر پروسس می تواند منبع درخواست كندولی درخواستهایش باید به ترتیب صعودی شماره باشد(ترتیب نزولی قابل قبول نیست)