۰
subtitle
ارسال: #۱
  
تست سیستم عامل سال ۸۵ - آی تی - همزمانی و همگام سازی
سلام
اگر دو پردازش p2 و p1 آمده در زیر به طور همروند اجرا شوند، کدام یک از موارد زیر صحیح است ؟
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
اگر دو پردازش p2 و p1 آمده در زیر به طور همروند اجرا شوند، کدام یک از موارد زیر صحیح است ؟
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
۰
ارسال: #۲
  
RE: تست سیستم عامل سال ۸۵ - آی تی - همزمانی و همگام سازی
سلام
فکر میکنم گزینه ۱ میشه. ولی نمیدونم چطوری بگم. حالا امید به خدا
اول از همه انحصار رو رعایت میکنه. چرا که توی شرایط حلقه که نگاه کنیم، امکان نداره هر دوتا با هم بیان از حلقه بیرون. چون همیشه یا N1<=N2 یا N2<N1. پس در هر لحظه یکی از شروط غلط میشه و میره داخل ناحیه بحرانی.
به همین دلیل بالا بن بست هم نمیتونه رخ بده. چون امکان نداره که همهی شروط داخل حلقهها همزمان درست باشن.
میمونه گرسنگی که اونم رخ نمیده. اگه فرض کنیم الان N1 رفت داخل ناحیه بحرانی (یعنی N1<=N2) وقتی از ناحیه در اومد و مجددن بخواد بره تو ناحیه بحرانی با مقدار الان N2 جمع میشه که یعنی N2<N1 میشه و N2 میره تو ناحیه بحرانی.
*البته باید توجه داشته باشیم اگه N1 بره توی ناحیه بحرانی و به هر دلیلی فرایندش ادامه داده نشه، دیگه N2 نمیتونه بره توی ناحیه بحرانی خودش. ولی این گرسنگی محسوب نمیشه!
فکر میکنم گزینه ۱ میشه. ولی نمیدونم چطوری بگم. حالا امید به خدا
اول از همه انحصار رو رعایت میکنه. چرا که توی شرایط حلقه که نگاه کنیم، امکان نداره هر دوتا با هم بیان از حلقه بیرون. چون همیشه یا N1<=N2 یا N2<N1. پس در هر لحظه یکی از شروط غلط میشه و میره داخل ناحیه بحرانی.
به همین دلیل بالا بن بست هم نمیتونه رخ بده. چون امکان نداره که همهی شروط داخل حلقهها همزمان درست باشن.
میمونه گرسنگی که اونم رخ نمیده. اگه فرض کنیم الان N1 رفت داخل ناحیه بحرانی (یعنی N1<=N2) وقتی از ناحیه در اومد و مجددن بخواد بره تو ناحیه بحرانی با مقدار الان N2 جمع میشه که یعنی N2<N1 میشه و N2 میره تو ناحیه بحرانی.
*البته باید توجه داشته باشیم اگه N1 بره توی ناحیه بحرانی و به هر دلیلی فرایندش ادامه داده نشه، دیگه N2 نمیتونه بره توی ناحیه بحرانی خودش. ولی این گرسنگی محسوب نمیشه!
۰
ارسال: #۳
  
RE: تست سیستم عامل سال ۸۵ - آی تی - همزمانی و همگام سازی
سلام
این الگوریتم Bakery هستش.
این الگوریتم هم انحصار متقابل تامین میکنه هم عدم ایجاد ددلاکو تضمین میکنه
برای انحصار متقابل می تونیم اینجور بگیم که اگه مثلا پردازش دوم تو ناحیه بحرانی خودش باشه پس یعنی (ان ۱ یا صفر بوده یا اینکه ان ۲ کوچکتر از ان ۱ بوده) پس در پردازش اول ان ۱ کوچیکتر و مساوی با ان ۲ درست نیست و ان ۲ هم صفر نیست پس بیزی میشه
و بالعکس...
برای ددلاکم میتونیم بگیم هیچ وقت دو پردازش با هم تو وایل نمی افتن چون روابط وقتی برای یکی درست واسه دیگری حتما اشتباه است
این الگوریتم Bakery هستش.
این الگوریتم هم انحصار متقابل تامین میکنه هم عدم ایجاد ددلاکو تضمین میکنه
برای انحصار متقابل می تونیم اینجور بگیم که اگه مثلا پردازش دوم تو ناحیه بحرانی خودش باشه پس یعنی (ان ۱ یا صفر بوده یا اینکه ان ۲ کوچکتر از ان ۱ بوده) پس در پردازش اول ان ۱ کوچیکتر و مساوی با ان ۲ درست نیست و ان ۲ هم صفر نیست پس بیزی میشه
و بالعکس...
برای ددلاکم میتونیم بگیم هیچ وقت دو پردازش با هم تو وایل نمی افتن چون روابط وقتی برای یکی درست واسه دیگری حتما اشتباه است
۰
ارسال: #۴
  
RE: تست سیستم عامل سال ۸۵ - آی تی - همزمانی و همگام سازی
این سناریو را در اجرای همروند دو پردازه در نظر بگیرید:
برش زمانی ۱: پی۱ اجرا شده و ان۱ برابر ۱ می شود
برش زمانی ۲: پی۲ اجرا شده و ان۲ برابر ۱ می شود
برش زمانی ۳: پی۱ اجرا شده و ان۱ برابر ۲=۱+۱ می شود
برش زمانی ۴: پی۲ اجرا شده و ان۲ برابر ۳=۱+۲ می شود
برش زمانی ۵: پی۱ اجرا شده و شرط حلقه ۳=>2 برقرار است و پی۱ وارد ناحیه بحرانی می شود و پس از اتمام کار از ناحیه بحرانی خارج می شود.
برش زمانی ۶: پی۲ اجرا می شود و شرط خروج حلقه برقرار نیست و نمی تواند وارد ناحیه بحرانی شود
تا زمانی که پی۱ مجددا بخواهد وارد ناحیه بحرانی شود و در مسیر مقدار متغییر را افزایش دهد که پس از آن پی۲ خواهد توانست وارد ناحیه بحرانی شود.
گرسنگی و بن بست رخ نمی دهد و شرط انحصار متقابل تامین می شود که پاسخ گزینه یک است.
برش زمانی ۱: پی۱ اجرا شده و ان۱ برابر ۱ می شود
برش زمانی ۲: پی۲ اجرا شده و ان۲ برابر ۱ می شود
برش زمانی ۳: پی۱ اجرا شده و ان۱ برابر ۲=۱+۱ می شود
برش زمانی ۴: پی۲ اجرا شده و ان۲ برابر ۳=۱+۲ می شود
برش زمانی ۵: پی۱ اجرا شده و شرط حلقه ۳=>2 برقرار است و پی۱ وارد ناحیه بحرانی می شود و پس از اتمام کار از ناحیه بحرانی خارج می شود.
برش زمانی ۶: پی۲ اجرا می شود و شرط خروج حلقه برقرار نیست و نمی تواند وارد ناحیه بحرانی شود
تا زمانی که پی۱ مجددا بخواهد وارد ناحیه بحرانی شود و در مسیر مقدار متغییر را افزایش دهد که پس از آن پی۲ خواهد توانست وارد ناحیه بحرانی شود.
گرسنگی و بن بست رخ نمی دهد و شرط انحصار متقابل تامین می شود که پاسخ گزینه یک است.
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close