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

.بن بست یا ناامن - ریحان - ۰۸ اردیبهشت ۱۳۹۳ ۰۱:۲۳ ب.ظ

بچه ها اگه هیچ پردارشی نتونه اجرا شه میشه نا امن و اگر یکی نتونه اجرا شه در انجا بن بست روی میده؟ تفاوت کافمن و بانکدار رو متوجه نشدم.روالش که مثه همه....بانکداربرای تشخیص نا امنیه...درچه صورت نا امنه؟وقتی هیچ پردازشی را نتونیم با منابعی که ازاد داریم اجرا کنیم؟ و الگوریتم کافمن برای بن بسته یعنی اگه حتی یه دونه پردازش اجرا نشد میشه بن بست؟ خوب این که برعکس شد که...میشه توضیح بدبن؟

RE: .بن بست یا ناامن - aamitis - 08 اردیبهشت ۱۳۹۳ ۰۲:۴۰ ب.ظ

(۰۸ اردیبهشت ۱۳۹۳ ۰۱:۲۳ ب.ظ)ریحان نوشته شده توسط:  بچه ها اگه هیچ پردارشی نتونه اجرا شه میشه نا امن و اگر یکی نتونه اجرا شه در انجا بن بست روی میده؟ تفاوت کافمن و بانکدار رو متوجه نشدم.روالش که مثه همه....بانکداربرای تشخیص نا امنیه...درچه صورت نا امنه؟وقتی هیچ پردازشی را نتونیم با منابعی که ازاد داریم اجرا کنیم؟ و الگوریتم کافمن برای بن بسته یعنی اگه حتی یه دونه پردازش اجرا نشد میشه بن بست؟ خوب این که برعکس شد که...میشه توضیح بدبن؟

کلا تعریف بن بست اینه که یه فرایند منتظر دریافت یه منبع باشه که در اختیار فرایند دوم است وفرایند دوم هم در انتظار منبعی هست که در اختیار فرایند اول هست
در الگوریتم بانکدار اگه بتونیم با توجه به داده های مسئله یه راهی رو برای پیشرفت پیدا کنیم که همه فرایند ها بتونن اجرا بشن.به این توالی مسیر امن میگن که راه فرار از بن بست احتمالی هست
اما یه حالت ناامن هم همیشه بن بست رو ایجاد نمیکنه چون ممکنه فرایندی چیزی رو که درخواست کرده برای مدتی رها کنه و فرایند دیگری که منتظر این منبع بوده بتونه اجرا بشه
امیدوارم منظور از سوالتون رو متوجه شده باشم و جوابم مفید بوده باشه واستون

RE: .بن بست یا ناامن - ریحان - ۰۸ اردیبهشت ۱۳۹۳ ۰۳:۴۰ ب.ظ

کلا تعریف بن بست اینه که یه فرایند منتظر دریافت یه منبع باشه که در اختیار فرایند دوم است وفرایند دوم هم در انتظار منبعی هست که در اختیار فرایند اول هست
در الگوریتم بانکدار اگه بتونیم با توجه به داده های مسئله یه راهی رو برای پیشرفت پیدا کنیم که همه فرایند ها بتونن اجرا بشن.به این توالی مسیر امن میگن که راه فرار از بن بست احتمالی هست
اما یه حالت ناامن هم همیشه بن بست رو ایجاد نمیکنه چون ممکنه فرایندی چیزی رو که درخواست کرده برای مدتی رها کنه و فرایند دیگری که منتظر این منبع بوده بتونه اجرا بشه
امیدوارم منظور از سوالتون رو متوجه شده باشم و جوابم مفید بوده باشه واستون
[/quote]

مممنونم.اونوقت اگه چندتا فرایند تیک بخورن چندتا نخورن میشه بن بست؟ یا نا امن؟اگه هیچکدوم تیک نخورن کدوم میشه؟

RE: .بن بست یا ناامن - Mohammad-A - 08 اردیبهشت ۱۳۹۳ ۰۳:۵۴ ب.ظ

(۰۸ اردیبهشت ۱۳۹۳ ۰۳:۴۰ ب.ظ)ریحان نوشته شده توسط:  مممنونم.اونوقت اگه چندتا فرایند تیک بخورن چندتا نخورن میشه بن بست؟ یا نا امن؟اگه هیچکدوم تیک نخورن کدوم میشه؟

چهار شرط کافمن رو بخوانید. این شروط برای بن‌بست لازم و کافی است.

اما بن‌بست وضعیت قطعی درخواست منابع هست. یعنی به صورت بالفعل فرایندها درخواست رو دادند اما موجود نیست و بن‌بست رخ داده.

شرایط ناامن همانطور که دوستمان گفتند، شرایطی است که احتمال می‌رود وضعیت قطعی درخواست منابع پیش بیاید. طبق ماهیت این الگوریتم فرض کنید در بانک خاصی، شخص A پنج میلیون تومان موجودی داره و شخص B ده میلیون تومان و شخص C بیست میلیون تومان.

حالا آیا وجه موجود در این بانک باید ۳۵ میلیون باشه؟ نه! چون این احتمال خیلی کمیه که هر سه شخص بخواهند در یک زمان موجودی خودشون رو طلب کنند. بنابراین با توجه به سابقه و رفتار سابق اشخاص (فرایندها) مقداری رو موجود معرفی میکنه اما این فرض رو در نظر میگیره که ممکنه یه زمانی هر سه شخص همه‌ی موجودی خودشون رو طلب کنند و با توجه به مقدار موجودی معرفی شده، اگر این موجود کمتر بود، شرایط ناامن میشه. چون بر حسب احتمالات هست.

اما شرایط بن‌بست بر اساس احتمالات نیست. به صورت قطعی همه‌ی فرایندها درخواست‌هایی دادند.

RE: .بن بست یا ناامن - aamitis - 08 اردیبهشت ۱۳۹۳ ۰۴:۲۷ ب.ظ

اگرتعدادی منابع داشته باشیم و تعدادی فرایند هم زمان درخواست بدهندچون هم زمان درخواست میدهند دیگه بحث امن بودن رو نمیکنیم
با همین منابع و درخواست های هم زمان بررسی میکنیم ببینیم ایا به نحوی میتونیم مسئله رو به پیش ببریم
اگه یه جا این وسط راه گیر کردیم(دقت کنیدممکنه همون اول راه مشکلی نباشه)بن بسته
////////////////////////////////////
حالا ممکنه منابعی که در دسترس هست رو داشته باشیم و فرایند های ما درخواست منبع نکرده باشن فقط برای اجرای کامل به این منابع نیاز داشته باشن
این همون الگوریتم بانکدار هست که امن بودن یا نبودن رو بررسی میکنه

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

RE: .بن بست یا ناامن - ریحان - ۱۲ اردیبهشت ۱۳۹۳ ۰۴:۵۷ ب.ظ

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

RE: .بن بست یا ناامن - maryam.raz - 12 اردیبهشت ۱۳۹۳ ۰۷:۱۳ ب.ظ

ببینید کل قضیه اینه:
تشخیص امن یا ناامن بودن سیستم: الگوریتم بانکدارن : مشخصه این الگوریتم ماتریس max هست که کل درخواستهای یک فرآیند در طول حیاتش هست. این الگوریتم عملا قابل اجرا نیست
تشخیص بن بست: الگوریتم کافمن : مشخصه این الگوریتم ماتریس Request که نشان دهنده منابع درخواستی فرآیند درهمین لحظه است نه در کل دوره حیاتش. این الگوریتم عملی است.