چرا الگوریتم پترسون بن بست ندارد؟(فوری) - نسخهی قابل چاپ |
چرا الگوریتم پترسون بن بست ندارد؟(فوری) - Good! - 30 دى ۱۳۹۲ ۱۰:۵۳ ب.ظ
سلام دوستان سوالم اینه که : در الگوریتم پترسون اگه فرایند P0، شروع به اجرا کنه و flag خودش رو true کنه و turn رو صفر بذاره و در حین اجرای while تا برداشتن مقدار turn از حافظه و مقایسه ش با صفر پیش بره، همین لحظه تعویض متن صورت بگیره و فرایند P1 اجرا شه و تا اجرای while پیش بره و چون turn 1 هست و flag[0] هم true هست تو لوپ میمونه. حالا اگه تعویض متن صورت بگیره P0 از ادامه while اجرا میشه و flag[1] رو true میبینه و میمونه تو لوپ! و بن بست میشه! طبق گفته خود دکتر حقیقت برای درست فهمیدن انحصار متقابل باید اجرای برنامه ها رو به صورت اسمبلی در نظر بگیریم. پس مشکل تحلیل من کجاست؟ممنون میشم هرچه زودتر راهنماییم کنید |
RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - hosshah - 01 بهمن ۱۳۹۲ ۱۱:۴۰ ق.ظ
(۳۰ دى ۱۳۹۲ ۱۰:۵۳ ب.ظ)Good! نوشته شده توسط: سلام دوستان سلام مشکلتون اینجاست که میخواین حرفه خودتونو به کرسی بشونید متاسفانه ما یه اخلاقی داریم (هممونا) وقتی به یه نتیجه میرسیم دیگه ذهنمون اجازه نمیده مانور بدیم همه جا رو خوب پیش رفتین تا اونجا که بعد ازز تعویض متن دوباره برگردیم به P0 اینجا درسته [tex]Flag[1][/tex] مقدار TRUE داره اما مقدار Turn هم دیگه برابر ۱ شده و چون شروط داخل While با هم AND شدن یکیشون هم که غلط باشه از حلقه میاد بیرون و میره به ناحیه بحرانی ردیفه؟؟؟ |
RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - Good! - 01 بهمن ۱۳۹۲ ۰۲:۲۸ ب.ظ
(۰۱ بهمن ۱۳۹۲ ۱۱:۴۰ ق.ظ)hosshah نوشته شده توسط:ممنون از جوابتون ولی اگه طبق دستورات اسمبلی در نظر بگیریم دیگه نیازی نیست برگرده و دوباره turn رو مقایسه کنه.خود دکتر حقیقت تو صفحه ۱۷۹ کتاب یه همچین مثالی زدن.مگه دستور اسمبلیش اینطور نمیشه که اول میاد turn رو مقایسه میکنه و اگه درست بود میپره به خطی که حالا باید flag رو مقایسه کنه؟مگه اینکه اول بیاد flag رو مقایسه کنه که اونم نمیدونم اجازه داریم ترتیب داخل while رو به هم بزنیم یا نه؟؟ دوستان خواهشا منو از این ابهام در آرید.(30 دى ۱۳۹۲ ۱۰:۵۳ ب.ظ)Good! نوشته شده توسط: سلام دوستان |
RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - hosshah - 01 بهمن ۱۳۹۲ ۰۳:۳۴ ب.ظ
(۰۱ بهمن ۱۳۹۲ ۰۲:۲۸ ب.ظ)Good! نوشته شده توسط: ممنون از جوابتون ولی اگه طبق دستورات اسمبلی در نظر بگیریم دیگه نیازی نیست برگرده و دوباره turn رو مقایسه کنه.خود دکتر حقیقت تو صفحه ۱۷۹ کتاب یه همچین مثالی زدن.مگه دستور اسمبلیش اینطور نمیشه که اول میاد turn رو مقایسه میکنه و اگه درست بود میپره به خطی که حالا باید flag رو مقایسه کنه؟مگه اینکه اول بیاد flag رو مقایسه کنه که اونم نمیدونم اجازه داریم ترتیب داخل while رو به هم بزنیم یا نه؟؟ دوستان خواهشا منو از این ابهام در آرید. خب آخه مهم نیست دفه اول ممکنه داخل حلقه بمونه ولی دفه بعد که شروط While رو چک میکنه ازش میاد بیرون شروطه داخله While هر سری چک میشن دیگه |
RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - Good! - 01 بهمن ۱۳۹۲ ۱۰:۳۴ ب.ظ
(۰۱ بهمن ۱۳۹۲ ۰۳:۳۴ ب.ظ)hosshah نوشته شده توسط:(01 بهمن ۱۳۹۲ ۰۲:۲۸ ب.ظ)Good! نوشته شده توسط: ممنون از جوابتون ولی اگه طبق دستورات اسمبلی در نظر بگیریم دیگه نیازی نیست برگرده و دوباره turn رو مقایسه کنه.خود دکتر حقیقت تو صفحه ۱۷۹ کتاب یه همچین مثالی زدن.مگه دستور اسمبلیش اینطور نمیشه که اول میاد turn رو مقایسه میکنه و اگه درست بود میپره به خطی که حالا باید flag رو مقایسه کنه؟مگه اینکه اول بیاد flag رو مقایسه کنه که اونم نمیدونم اجازه داریم ترتیب داخل while رو به هم بزنیم یا نه؟؟ دوستان خواهشا منو از این ابهام در آرید. آره مرسییییییییی.مرسیییییییییییی.واقعا ممنون خدا خیرتون بده |
RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - hosshah - 01 بهمن ۱۳۹۲ ۱۰:۳۷ ب.ظ
(۰۱ بهمن ۱۳۹۲ ۱۰:۳۴ ب.ظ)Good! نوشته شده توسط: آره مرسییییییییی.مرسیییییییییییی.واقعا ممنون خدا خیرتون بدهخدا رو شکر. قربونت |