تعداد اسلایدها : 36 اسلاید
دانلود پاورپوینت بن بست ها Deadlocks
تعداد اسلایدها : 36 اسلاید
پاورپوینت بن بست ها (Deadlocks ) در سیستم های کامپیوتری در 35 اسلاید شامل بخش های زیر می باشد:
مقدمه
اصول بن بست
شرایط لازم برای بوجود آمدن بن بست
مدل سازی بن بست
Deadlock Modeling
کلا چهار استراتژی ممکن است در ارتباط با پرداختن بهDEADLOCK استفاده شود.
The Ostrich Algorithm
Recovery from Deadlock (1)
Recovery from Deadlock (2)
Deadlock Avoidance
Resource Trajectories
Safe and Unsafe States
اجتناب از بن بست
الگوریتم بانکدار برای منابع چند گانه ( یعنی از چند نوع مختلف )
پیشگیری از بن بست DEADLOCK PREVENTION
Attacking the No Preemption Condition
Attacking the Circular Wait Condition (1)
Other Issues
Two-Phase Locking
Nonresource Deadlocks
Starvation
مقدمه
کامپیوتر ها دارای منابع زیادی هستند که در هر لحظه فقط توسط یک 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نام دارد.
منبع : هر چیزی است که در هر لحظه فقط توسط یک پروسس می تواند استفاده شود . منبع می تواند سخت افزاری یا نرم افزاری باشد .
دنباله اتفاقات در مورد استفاده از یک منبع به این صورت است:
typedef int semaphore; typedef int semaphore;
semaphore resource_1; semaphore resource_1;
semaphore resource_2;
void process_A(void) {
down(&resource _1); void process_A(void) {
use_resource_1( ); down(&resource _1);
up(&resource _1); down(&resource _2);
use_both_resources( );
} up(&resource _2);
up(&resource _1);
}
(a) (b)
اصول بن بست
تعریف رسمی بن بست این است:
مجموعه ای از processها در حالت بن بست قرار دارد اگر هر process
این مجموعه منتظر اتفاقی باشد که فقط process دیگری در این مجموعه میتواند ایجادش کند.از آنجا ئیکه همه پروسس ها منتظر هستند،هرگزهیچ یک از آنها نمی تواند اتفاقی که باعث بیدار شدن عضو دیگری از مجموعه شود
را ایجاد کنند و همه process ها برای همیشه منتظر خواهند بود....