الگوریتم بانکداران - نسخهی قابل چاپ |
الگوریتم بانکداران - payman84ce - 16 آبان ۱۳۹۰ ۰۷:۲۳ ب.ظ
سلام اگر ممکن است به زبان ساده توضیح دهید من گیج شدم ممنون |
الگوریتم بانکداران - mamat - 18 آبان ۱۳۹۰ ۰۴:۰۹ ب.ظ
دوست عزیز الگوریتم بانکداران رو با مثال بهتر میشه توضیح داد برای همین میتونی به صفحه ۲۹۳ کتاب سیستم های عامل-استالینگز-ویرایش ۴-ترجمه دکتر پدرام مراجعه کنی اما یک توضیح مختصر میدم تو این الگوریتم ما دارای ۲ ماتریس Allocation(تخصیص جاری) و Claim(حداکثر تقاضا) برای هر فرایند و دو بردار Resource(منابع اولیه) و Available(منابع در دسترس) هستیم. ابتدا شما باید یک ماتریس دیگر به نام ماتریس Need(منابع مورد احتیاج) برای فرایند که به صورت Need=Claim-Allocation بدست می آید رو پیدا کنید و با استفاده از بردار Available و ماتریس Need به دنبال یک حالت امن بگردید که شبیه روش عقبگرد در طراحی الگوریتم است. یعنی شما در هر مرحله با توجه به بردار Available اگر بتوانید در ماتریس Need به یک فرایند منابع مورد احتیاجش را بدید و منابع آن را آزاد کنید و این کار را آنقدر ادامه دهید که به کل فرایندها منابع لازمه را تخصیص دهید و تمام فرایندها را به اتمام رسانید به یک حالت امن دست یافته اید. اگر در یک مرحله بتوانید با منابع موجود فرایندهای مختلفی را سرویس دهید و شما یکی را به دلخواه انتخاب کردید ولی در مرحله بعد به یک حالت ناامن رسیدید باید مثل روش عقبگرد برگردید و به فرایند دیگه ای که میتوانست با منابع موجود کارش را به اتمام رساند رو تست کنید. ولی در کل این الگوریتم(بانکداران) به دلیل اینکه ما هیچگاه از ابتدا بطور واقعی ماتریس Claim رو نداریم، این الگوریتم در حد تئوری باقی مونده. اما ازش تو کنکور سوال میاد(یعنی چون درحد یک تئوریه ازش نگذرید) |