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

چرا الگوریتم پترسون بن بست ندارد؟(فوری) - Good! - 30 دى ۱۳۹۲ ۱۰:۵۳ ب.ظ

سلام دوستان
سوالم اینه که :
در الگوریتم پترسون اگه فرایند P0، شروع به اجرا کنه و flag خودش رو true کنه و turn رو صفر بذاره و در حین اجرای while تا برداشتن مقدار turn از حافظه و مقایسه ش با صفر پیش بره، همین لحظه تعویض متن صورت بگیره و فرایند P1 اجرا شه و تا اجرای while پیش بره و چون turn 1 هست و flag[0] هم true هست تو لوپ میمونه. حالا اگه تعویض متن صورت بگیره P0 از ادامه while اجرا میشه و flag[1] رو true میبینه و میمونه تو لوپ! و بن بست میشه!
طبق گفته خود دکتر حقیقت برای درست فهمیدن انحصار متقابل باید اجرای برنامه ها رو به صورت اسمبلی در نظر بگیریم.
پس مشکل تحلیل من کجاست؟ممنون میشم هرچه زودتر راهنماییم کنید HuhShy

RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - hosshah - 01 بهمن ۱۳۹۲ ۱۱:۴۰ ق.ظ

(۳۰ دى ۱۳۹۲ ۱۰:۵۳ ب.ظ)Good! نوشته شده توسط:  سلام دوستان
سوالم اینه که :
در الگوریتم پترسون اگه فرایند P0، شروع به اجرا کنه و flag خودش رو true کنه و turn رو صفر بذاره و در حین اجرای while تا برداشتن مقدار turn از حافظه و مقایسه ش با صفر پیش بره، همین لحظه تعویض متن صورت بگیره و فرایند P1 اجرا شه و تا اجرای while پیش بره و چون turn 1 هست و flag[0] هم true هست تو لوپ میمونه. حالا اگه تعویض متن صورت بگیره P0 از ادامه while اجرا میشه و flag[1] رو true میبینه و میمونه تو لوپ! و بن بست میشه!
طبق گفته خود دکتر حقیقت برای درست فهمیدن انحصار متقابل باید اجرای برنامه ها رو به صورت اسمبلی در نظر بگیریم.
پس مشکل تحلیل من کجاست؟ممنون میشم هرچه زودتر راهنماییم کنید HuhShy

سلام
مشکلتون اینجاست که میخواین حرفه خودتونو به کرسی بشونید
متاسفانه ما یه اخلاقی داریم (هممونا) وقتی به یه نتیجه میرسیم دیگه ذهنمون اجازه نمیده مانور بدیم
همه جا رو خوب پیش رفتین تا اونجا که بعد ازز تعویض متن دوباره برگردیم به P0 اینجا درسته [tex]Flag[1][/tex] مقدار TRUE داره اما مقدار Turn هم دیگه برابر ۱ شده و چون شروط داخل While با هم AND شدن یکیشون هم که غلط باشه از حلقه میاد بیرون و میره به ناحیه بحرانی
ردیفه؟؟؟Wink

RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - Good! - 01 بهمن ۱۳۹۲ ۰۲:۲۸ ب.ظ

(۰۱ بهمن ۱۳۹۲ ۱۱:۴۰ ق.ظ)hosshah نوشته شده توسط:  
(30 دى ۱۳۹۲ ۱۰:۵۳ ب.ظ)Good! نوشته شده توسط:  سلام دوستان
سوالم اینه که :
در الگوریتم پترسون اگه فرایند P0، شروع به اجرا کنه و flag خودش رو true کنه و turn رو صفر بذاره و در حین اجرای while تا برداشتن مقدار turn از حافظه و مقایسه ش با صفر پیش بره، همین لحظه تعویض متن صورت بگیره و فرایند P1 اجرا شه و تا اجرای while پیش بره و چون turn 1 هست و flag[0] هم true هست تو لوپ میمونه. حالا اگه تعویض متن صورت بگیره P0 از ادامه while اجرا میشه و flag[1] رو true میبینه و میمونه تو لوپ! و بن بست میشه!
طبق گفته خود دکتر حقیقت برای درست فهمیدن انحصار متقابل باید اجرای برنامه ها رو به صورت اسمبلی در نظر بگیریم.
پس مشکل تحلیل من کجاست؟ممنون میشم هرچه زودتر راهنماییم کنید HuhShy

سلام
مشکلتون اینجاست که میخواین حرفه خودتونو به کرسی بشونید
متاسفانه ما یه اخلاقی داریم (هممونا) وقتی به یه نتیجه میرسیم دیگه ذهنمون اجازه نمیده مانور بدیم
همه جا رو خوب پیش رفتین تا اونجا که بعد ازز تعویض متن دوباره برگردیم به P0 اینجا درسته [tex]Flag[1][/tex] مقدار TRUE داره اما مقدار Turn هم دیگه برابر ۱ شده و چون شروط داخل While با هم AND شدن یکیشون هم که غلط باشه از حلقه میاد بیرون و میره به ناحیه بحرانی
ردیفه؟؟؟Wink
ممنون از جوابتون ولی اگه طبق دستورات اسمبلی در نظر بگیریم دیگه نیازی نیست برگرده و دوباره turn رو مقایسه کنه.خود دکتر حقیقت تو صفحه ۱۷۹ کتاب یه همچین مثالی زدن.مگه دستور اسمبلیش اینطور نمیشه که اول میاد turn رو مقایسه میکنه و اگه درست بود میپره به خطی که حالا باید flag رو مقایسه کنه؟مگه اینکه اول بیاد flag رو مقایسه کنه که اونم نمیدونم اجازه داریم ترتیب داخل while رو به هم بزنیم یا نه؟؟Huh دوستان خواهشا منو از این ابهام در آرید.

RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - hosshah - 01 بهمن ۱۳۹۲ ۰۳:۳۴ ب.ظ

(۰۱ بهمن ۱۳۹۲ ۰۲:۲۸ ب.ظ)Good! نوشته شده توسط:  ممنون از جوابتون ولی اگه طبق دستورات اسمبلی در نظر بگیریم دیگه نیازی نیست برگرده و دوباره turn رو مقایسه کنه.خود دکتر حقیقت تو صفحه ۱۷۹ کتاب یه همچین مثالی زدن.مگه دستور اسمبلیش اینطور نمیشه که اول میاد turn رو مقایسه میکنه و اگه درست بود میپره به خطی که حالا باید flag رو مقایسه کنه؟مگه اینکه اول بیاد flag رو مقایسه کنه که اونم نمیدونم اجازه داریم ترتیب داخل while رو به هم بزنیم یا نه؟؟Huh دوستان خواهشا منو از این ابهام در آرید.

خب آخه مهم نیست
دفه اول ممکنه داخل حلقه بمونه ولی دفه بعد که شروط While رو چک میکنه ازش میاد بیرون
شروطه داخله While هر سری چک میشن دیگه

RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - Good! - 01 بهمن ۱۳۹۲ ۱۰:۳۴ ب.ظ

(۰۱ بهمن ۱۳۹۲ ۰۳:۳۴ ب.ظ)hosshah نوشته شده توسط:  
(01 بهمن ۱۳۹۲ ۰۲:۲۸ ب.ظ)Good! نوشته شده توسط:  ممنون از جوابتون ولی اگه طبق دستورات اسمبلی در نظر بگیریم دیگه نیازی نیست برگرده و دوباره turn رو مقایسه کنه.خود دکتر حقیقت تو صفحه ۱۷۹ کتاب یه همچین مثالی زدن.مگه دستور اسمبلیش اینطور نمیشه که اول میاد turn رو مقایسه میکنه و اگه درست بود میپره به خطی که حالا باید flag رو مقایسه کنه؟مگه اینکه اول بیاد flag رو مقایسه کنه که اونم نمیدونم اجازه داریم ترتیب داخل while رو به هم بزنیم یا نه؟؟Huh دوستان خواهشا منو از این ابهام در آرید.

خب آخه مهم نیست
دفه اول ممکنه داخل حلقه بمونه ولی دفه بعد که شروط While رو چک میکنه ازش میاد بیرون
شروطه داخله While هر سری چک میشن دیگه

آره مرسییییییییی.مرسیییییییییییی.واقعا ممنون خدا خیرتون بده Smile

RE: چرا الگوریتم پترسون بن بست ندارد؟(فوری) - hosshah - 01 بهمن ۱۳۹۲ ۱۰:۳۷ ب.ظ

(۰۱ بهمن ۱۳۹۲ ۱۰:۳۴ ب.ظ)Good! نوشته شده توسط:  آره مرسییییییییی.مرسیییییییییییی.واقعا ممنون خدا خیرتون بده Smile
خدا رو شکر. قربونت Big Grin