راهبردهای بنبست: (2) اجتناب با الگوریتم بانکدار
توضیحات
در جلسه سی و دوم فیلم آموزشی (آموزش مجازی) سیستم عامل دکتر حقیقت ویژه کنکور کارشناسی ارشد مهندسی کامپیوتر و کنکور کارشناسی ارشد مهندسی فناوری اطلاعات و کنکور دکتری مهندسی کامپیوتر و نیز امتحانات دانشگاهی و آزمونهای استخدامی، ادامه فصل مهم پنجم سیستم عامل با عنوان «بنبست» ارائه میشود. موضوع این جلسه «راهبردهای بنبست: (2) اجتناب با الگوریتم بانکدار» میباشد. در روش اجتناب از بنبست، برخلاف روشهای پرهزينه قبلی كه از طريق تحميل قواعد خاصی بر روی فرايندها میخواستند از بنبست منابع پيشگيری كنند (و البته باصرف هزينه نيز در حالت عمومی ناموفق بودند)، میخواهیم به وسیله تجزيه و تحليل دقيق هر يک از درخواستهای منابع و اطمينان از امن بودن حالت جديد در صورت تخصيص منابع مورد درخواست، از بنبست منابع اجتناب كنيم. در واقع، اجتناب از بنبست به سه شرط خط مشی كاری ندارد و فقط با تصميمگيری پويا از وقوع انتظار چرخشی اجتناب میكند. اين روشها به دو دسته تقسيم میشوند: 1) عدم پذيرش درخواست های فرايند جاری برای منابع جديد، درصورتی كه پذيرش آنها ريسک بنبست (احتمالی) را به همراه داشته باشد. اين روشها خيلی كمتر از دسته دوم، منابع را به هدر میدهند. 2) عدم پذيرش فرايندی كه پذيرش آن، ریسک بنبست (احتمالی) را به همراه دارد. اين روشها بسيار پرهزينه و محافظه كارانه بوده و منابع را به شدت هدر میدهند. در این جلسه روش اول (اجتناب با کنترل پذیرش درخواست) با الگوریتم بانکدار (Banker) تدریس میشود. ابتدا این الگوریتم بانکدار برای یک منبع منفرد و سپس برای منابع چندگانه شرح داده میشود. ماتریسهای NEED و MAX (Claim) و ALLOC و بردارهای Available (Free) و Existing و Possessed معرفی و شرح داده میشوند. حالت امن (Safe) و نا امن (Unsafe) توضیح داده میشود و الگوریتم تشخیص وضعیت امن و نا امن و الگوریتم تخصیص منابع آموزش داده میشود. چندین مسئله کامل در این خصوص مطرح و به صورت تشریحی با جزئیات کامل حل میشود و تعداد مسیرهای امن آن استخراج میگردد.