تالار گفتمان مانشت
الگوریتم تشخیص بن بست - نسخه‌ی قابل چاپ

الگوریتم تشخیص بن بست - پشتکار - ۱۵ دى ۱۳۹۰ ۰۶:۴۵ ب.ظ

از روی این سوال چطوری میشه منابع و امن یا نا امن بودن رو فهمید؟

الگوریتم بن بست - mat - 15 دى ۱۳۹۰ ۰۷:۱۳ ب.ظ

من گزینه ۳ زدم.. اینجوری استدلال کردم‌:
زمانی سیستمی امن میشه که بتونیم به وسیله همون دارایی منابع بقیه رو اجرا کنیم...
تو این سوالE رو که بدست بیاریم میشه ۳ ۴ ۶ ۱۱ و با همون دارایی اولیه سیستم به بن بست نمیخوره و امنه...

الگوریتم بن بست - ahmadnouri - 15 دى ۱۳۹۰ ۰۷:۳۶ ب.ظ

مقدار E رو میشه از جمع تعدا منابع تخصیص یافته با منابع در دسترس بدست آورد
که منابع تخصیص یافته A,B,C,D=10,5,3,2 اه و منابع آزاد هم AV=1,1,1,1 پس منابع E=11,6,4,3 که تا اینجا ۳و ۴ درسته و اگه منابع مورد نیاز هر یک از فرایند‌ها رو بدست بیاریم میشه براش مسیر امن بدست آورد
P1--->p0---->p3--->p2
پس گزینه ۳ میشه

RE: الگوریتم بن بست - پشتکار - ۱۵ دى ۱۳۹۰ ۰۷:۵۵ ب.ظ

(۱۵ دى ۱۳۹۰ ۰۷:۳۶ ب.ظ)ahmadnouri نوشته شده توسط:  اگه منابع مورد نیاز هر یک از فرایند‌ها رو بدست بیاریم میشه براش مسیر امن بدست آورد
P1--->p0---->p3--->p2
پس گزینه ۳ میشه

همین رو میشه توضیح بدید؟
این مسیر رو چطوری میکشید و بدست میارید؟
متشکرم

RE: الگوریتم بن بست - ida_isp - 15 دى ۱۳۹۰ ۱۰:۲۶ ب.ظ

(۱۵ دى ۱۳۹۰ ۰۷:۵۵ ب.ظ)پشتکار نوشته شده توسط:  
(15 دى ۱۳۹۰ ۰۷:۳۶ ب.ظ)ahmadnouri نوشته شده توسط:  اگه منابع مورد نیاز هر یک از فرایند‌ها رو بدست بیاریم میشه براش مسیر امن بدست آورد
P1--->p0---->p3--->p2
پس گزینه ۳ میشه

همین رو میشه توضیح بدید؟
این مسیر رو چطوری میکشید و بدست میارید؟
متشکرم

وقتی ماتریس Need رو تشکیل بدیم میشه:
سطر اول: ۰۰۰۱
سطر دوم: ۰۰۰۰
سطر سوم: ۱۱۰۳
سطر چهارم:۱۱۱۰

موجودی فعلی رو هم که داریم. پس وقتی به ماتریس Need نگاه میکنیم میبینیم سطر دوم یا همون فرآیند p1 هیچ منبعی نیاز نداره پس اجرا میشه، گرفته هاشو (allocate) پس میده! یعنی ۳۰۱۰ با Available جمع میشه. حالا Available میشه ۴۱۲۱/ باز به Need نگاه کنیم میبینیم با این موجودی‌ها p0 یا p3 هردو میتونن اجرا بشن یکیشونو انتخاب میکنیم به همین ترتیب میریم جلو این مسیر به دست میاد...

RE: الگوریتم بن بست - پشتکار - ۱۵ دى ۱۳۹۰ ۱۱:۱۷ ب.ظ

(۱۵ دى ۱۳۹۰ ۱۰:۲۶ ب.ظ)ida_isp نوشته شده توسط:  وقتی ماتریس Need رو تشکیل بدیم میشه:
سطر اول: ۰۰۰۱
سطر دوم: ۰۰۰۰
سطر سوم: ۱۱۰۳
سطر چهارم:۱۱۱۰

ببخشید راستشو بخواهید من تازه اینها رو دارم یاد می گیرم. این need واسه چیه. میشه توضیح بدهید؟ البته سرجمع فهمیدم الگوریتمشو ولی جزئیاتشو نه!
ببخشیدBlush

RE: الگوریتم بن بست - مازیار صفایی - ۱۵ دى ۱۳۹۰ ۱۱:۲۷ ب.ظ

(۱۵ دى ۱۳۹۰ ۱۱:۱۷ ب.ظ)پشتکار نوشته شده توسط:  
(15 دى ۱۳۹۰ ۱۰:۲۶ ب.ظ)ida_isp نوشته شده توسط:  وقتی ماتریس Need رو تشکیل بدیم میشه:
سطر اول: ۰۰۰۱
سطر دوم: ۰۰۰۰
سطر سوم: ۱۱۰۳
سطر چهارم:۱۱۱۰

ببخشید راستشو بخواهید من تازه اینها رو دارم یاد می گیرم. این need واسه چیه. میشه توضیح بدهید؟ البته سرجمع فهمیدم الگوریتمشو ولی جزئیاتشو نه!
ببخشیدBlush

این مبحث آسون ترین مبحث سیستم عامله. کتاب دکتر حقیقت خیلی خیلی خوب و عالی توضیح داده. اگه یک ۳ ساعتی زمان بگذارید مشکل حلهShy

RE: الگوریتم بن بست - ida_isp - 15 دى ۱۳۹۰ ۱۱:۳۲ ب.ظ

(۱۵ دى ۱۳۹۰ ۱۱:۱۷ ب.ظ)پشتکار نوشته شده توسط:  
(15 دى ۱۳۹۰ ۱۰:۲۶ ب.ظ)ida_isp نوشته شده توسط:  وقتی ماتریس Need رو تشکیل بدیم میشه:
سطر اول: ۰۰۰۱
سطر دوم: ۰۰۰۰
سطر سوم: ۱۱۰۳
سطر چهارم:۱۱۱۰

ببخشید راستشو بخواهید من تازه اینها رو دارم یاد می گیرم. این need واسه چیه. میشه توضیح بدهید؟ البته سرجمع فهمیدم الگوریتمشو ولی جزئیاتشو نه!
ببخشیدBlush

خب Need یعنی اینکه هر فرآیندی چقدر منبع دیگه احتیاج داره تا به Max برسه یعنی میشه Max منهای Allocate تو جزوه هرچی دارین اینا هست آسونه بخونید عالی متوجه میشین

RE: الگوریتم بن بست - معمری - ۲۵ اردیبهشت ۱۳۹۱ ۱۱:۰۲ ب.ظ

منم ۳ رو آوردم . تو کتاب مقسمی گفته : در ماتریس need به دنبال سطری بگردید که کوچکتر از بردار منابع در دسترس ( available) باشد اگر چنین سطری وجود ندارد سیستم در حالت نا امن است و الگوریتم تمام میشود . حالا اگه ماتریس need رو تشکیل بدیم میبینیم p0,p1 و p3 کوچکتر از available هستند پس حالت امن هست .