۰
subtitle
ارسال: #۱
  
تشخیص وقوع بن بست Deadlock
سام دوستان یه سوال ضمیمه کردم کسی می تونه بهم بگه چرا بن بست تو این شکل رخ نمی ده ;
من خودم به این صورت تجزیه تحلیل کردم ;
۱/P1 منبع R1 را درخواست می کند.
۲/P2 منیع R1 را دارد.
۳/P3 منبع R1 را دارد.
با این سه تا نتیجه بن بست رخ می ده ! در قسمت حلقه مشکلی ندارم
مرسی
من خودم به این صورت تجزیه تحلیل کردم ;
۱/P1 منبع R1 را درخواست می کند.
۲/P2 منیع R1 را دارد.
۳/P3 منبع R1 را دارد.
با این سه تا نتیجه بن بست رخ می ده ! در قسمت حلقه مشکلی ندارم
مرسی
۰
ارسال: #۲
  
RE: تشخیص وقوع بن بست Deadlock
بن بست رخ نمیده ، چون به عنوان مثال P2 در حال حاظر منبع R1 رو در اختیار داره ولی برای ادامه کارش نیاز به منبع دیگه ایی نداره در نتیجه در نهایت کارش تموم میشه و منبع R1 رو رها میکنه پس حالا P1 می تونه منبع R1 رو در اختیار بگیره و چون هر دو منبع مورد نیازش و داره می تونه کارش رو انجام بده ، و سپس R1 و R2 رو رها میکنه و به همین ترتیب میشه برای P4 و P3 اظهار نظر کرد
نکته کلیدی اینه که به طور کلی بن بست وقتی رخ میده که فرآیند ۱ در حال حاظر منبع A را در اختیار داره و برای ادامه فعالیتش منبع B رو می خواد که متاسفانه منبع B در اختیار فرایند ۲ هست و فرایند دوم هم برای ادامه کارش منبع A رو میخواد که در اختیار فرایند ۱ هست در نتیجه هر دو فرایند منبعی رو میخوان که در اختیار فرایند دیگری هست
ولی در شکل شما میبینیم که فرایند P2 و P4 برای ادامه فعالیتشان نیاز به منبع دیگری ندارند پس در نهایت این دو فرایند می توانند کارشان را تمام کنن و منابع در اختیارشان را آزاد کنند
نکته کلیدی اینه که به طور کلی بن بست وقتی رخ میده که فرآیند ۱ در حال حاظر منبع A را در اختیار داره و برای ادامه فعالیتش منبع B رو می خواد که متاسفانه منبع B در اختیار فرایند ۲ هست و فرایند دوم هم برای ادامه کارش منبع A رو میخواد که در اختیار فرایند ۱ هست در نتیجه هر دو فرایند منبعی رو میخوان که در اختیار فرایند دیگری هست
ولی در شکل شما میبینیم که فرایند P2 و P4 برای ادامه فعالیتشان نیاز به منبع دیگری ندارند پس در نهایت این دو فرایند می توانند کارشان را تمام کنن و منابع در اختیارشان را آزاد کنند
ارسال: #۳
  
RE: تشخیص وقوع بن بست Deadlock
(۰۷ آذر ۱۳۹۳ ۰۸:۱۴ ب.ظ)Aliteh نوشته شده توسط: بن بست رخ نمیده ، چون به عنوان مثال P2 در حال حاظر منبع R1 رو در اختیار داره ولی برای ادامه کارش نیاز به منبع دیگه ایی نداره در نتیجه در نهایت کارش تموم میشه و منبع R1 رو رها میکنه پس حالا P1 می تونه منبع R1 رو در اختیار بگیره و چون هر دو منبع مورد نیازش و داره می تونه کارش رو انجام بده ، و سپس R1 و R2 رو رها میکنه و به همین ترتیب میشه برای P4 و P3 اظهار نظر کردمرسی ممنونم ، آیا استدلال هایی که من کردم درسته ؟ و شما از کجا می دوند کار فرایند ها تمام می شوند تضمینی بابت concurrent بودن آنها وجود ندارد که!
نکته کلیدی اینه که به طور کلی بن بست وقتی رخ میده که فرآیند ۱ در حال حاظر منبع A را در اختیار داره و برای ادامه فعالیتش منبع B رو می خواد که متاسفانه منبع B در اختیار فرایند ۲ هست و فرایند دوم هم برای ادامه کارش منبع A رو میخواد که در اختیار فرایند ۱ هست در نتیجه هر دو فرایند منبعی رو میخوان که در اختیار فرایند دیگری هست
ولی در شکل شما میبینیم که فرایند P2 و P4 برای ادامه فعالیتشان نیاز به منبع دیگری ندارند پس در نهایت این دو فرایند می توانند کارشان را تمام کنن و منابع در اختیارشان را آزاد کنند
ارسال: #۴
  
RE: تشخیص وقوع بن بست Deadlock
(۰۷ آذر ۱۳۹۳ ۰۹:۳۱ ب.ظ)joyebright نوشته شده توسط: مرسی ممنونم ، آیا استدلال هایی که من کردم درسته ؟ و آیا شما از کجا می دوند کار فرایند ها تمتم می شوند تضمینی بابت concurrent بودن آنها وجود ندارد که!اصولا بن بست یکی از مهمترین مشکلات هم روندی فرایند ها و نخ هاست ، اگر فرایند ها هم روند نباشند و یک برنامه اجرا بشود تا خاتمه نیابد برنامه های دیگه نتونن اجرا بشن که دیگر بن بستی وجود ندارد ، توی سیستم های تک برنامه گی اصلا بن بست نیست ،
استدلالتون در مورد تخصیص منابع به فرایند ها درست هست ولی استدلالتون در مورد وقوع بن بست اشتباه است ، آیا فرایند P2 که تمام منابع مورد نیازش رو در اختیار داره نمی تونه خاتمه بیابد؟
ارسال: #۵
  
RE: تشخیص وقوع بن بست Deadlock
(۰۸ آذر ۱۳۹۳ ۰۱:۱۳ ق.ظ)Aliteh نوشته شده توسط:می تونه خاتمه پیدا کنه ; یعنی شما میگید همه ی فرایندها با هم شروع می شوند و باهم هم به اتمام می رند درسته؟(07 آذر ۱۳۹۳ ۰۹:۳۱ ب.ظ)joyebright نوشته شده توسط: مرسی ممنونم ، آیا استدلال هایی که من کردم درسته ؟ و آیا شما از کجا می دوند کار فرایند ها تمتم می شوند تضمینی بابت concurrent بودن آنها وجود ندارد که!اصولا بن بست یکی از مهمترین مشکلات هم روندی فرایند ها و نخ هاست ، اگر فرایند ها هم روند نباشند و یک برنامه اجرا بشود تا خاتمه نیابد برنامه های دیگه نتونن اجرا بشن که دیگر بن بستی وجود ندارد ، توی سیستم های تک برنامه گی اصلا بن بست نیست ،
استدلالتون در مورد تخصیص منابع به فرایند ها درست هست ولی استدلالتون در مورد وقوع بن بست اشتباه است ، آیا فرایند P2 که تمام منابع مورد نیازش رو در اختیار داره نمی تونه خاتمه بیابد؟
ارسال: #۶
  
RE: تشخیص وقوع بن بست Deadlock
ارسال: #۷
  
RE: تشخیص وقوع بن بست Deadlock
(۰۸ آذر ۱۳۹۳ ۱۰:۲۶ ق.ظ)Aliteh نوشته شده توسط:(08 آذر ۱۳۹۳ ۰۹:۱۰ ق.ظ)joyebright نوشته شده توسط: می تونه خاتمه پیدا کنه ; یعنی شما میگید همه ی فرایندها با هم شروع می شوند و باهم هم به اتمام می رند درسته؟
نه ، منظورم اینه که بین فرایندها تعویض متن اتفاق میوفته
گرفتم چی شد ، ممنونم ، امیدوارم همیشه موفق باشید.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close