شرایط رخ دادن بن بست در سیستم عامل

خلاصه
1397/07/20

برای این که احتمال رخ دادن بن بست در سیستم وجود داشته باشد باید شرایط چهارگانه زیر موجود باشد

شرایط رخ دادن بن بست در  سیستم عامل

برای این که احتمال رخ دادن بن بست در سیستم وجود داشته باشد باید شرایط چهارگانه زیر موجود باشد، در صورتیکه هر یک از چهار شرط زیر برقرار نباشد احتمال رخ داد بن بست در سیستم وجود نخواهد داشت:
1.    شرط دو به دو ناسازگاری: سیستمی احتمالا دچار بن بست خواهد شد که شرط دو به دو ناسازگاری در آن رعایت شود، یعنی هر منبع در یک لحظه یا موجود (آزاد) است یا فقط به یک فرآیند تخصیص داده شده است.
2.    شرط نگه داشت و انتظار(Hold-wait): فرآیند ها، هنگامی که درخواست منبع جدیدی می نمایند، منابعی را که قبلا دریافت کرده اند نگهداری می کنند.
3.    شرط غیر قابل استفاده مجد: منابعی که قبلا به فرآیند ها داده شده اند به زور قابل پس گیری نمی باشند و تا پایان کار فرآیند در ا ختیار وی قرار می گیرند.
4.    زنجیره های انتظار: به این معنی که در سیستم تعدادی فرآیند موجود باشد که هر یک منتظر رخدادی است که فقط توسط دیگری رخ می دهد.
باید توجه داشت که اگر یکی از این شرایط در سیستمی موجود نباشد، هیچ بن بستی قابل رخداد نیست، بنابراین اگر در سیستمی هر 4 شرط بالا موجود باشد احتمال رخداد بن بست وجود آورد. بنابراین تشخیص رخداد بن یست در چنین سیستمی از ارکان سیستم محسوی می شود چرا که رخداد بن بست باعث هدر رفتن منابع می شود.
 
 برای تشخیص بن بست باید بتوان بن بست را مدل نمود و از روی مدل تولید شده و با الگوریتم مشخص رخداد بن بست را تشخیص داد. به این منظور برای تشخیص رخداد بن بست از گراف تخصیص استفاده می کنیم. گراف تخصیص بر اساس درخواست فرآیند ها برای تخصیص منبع ساخته می شود و لذا از  طریق آن می توان به سادگی انتظار چرخه ای منجر به بن بست را تشخیص داد.