زمان کنونی: ۰۴ دى ۱۴۰۳, ۰۶:۰۹ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

ابهام در تأمین همروندی SWAP

ارسال:
  

Mohammad-A پرسیده:

ابهام در تأمین همروندی SWAP

سلام.
دوستان این سوال مربوط به کنکور آی‌تی ۹۱ مربوط به تأمین همروندی فرایندها با SWAP هست.

کتاب دکتر حقیقت در توضیحات٬ استفاده از SWAP را همراه با نقض شرط پیشرفت معرفی کرده.
کلید سازمان سنجش هم گزینه‌ی ۲ رو به عنوان کلید معرفی کرده (و کلید هم تغییر نکرده)

اما مشکلی که هست اینه که:
خودِ دکتر حقیقت برای این تست٬ این کد رو درست فرض کردند. به نظر شما استفاده از SWAP در تأمین همروندی نقض شرط پیشرفت رو داره؟ چون به نظر هیچ‌یک از فرایندها نوبت فرایند دیگر را رعایت نمیکنند...

سؤال را پیوست کردم.
ممنون میشم راهنمایی کنید.

متن سؤال:
[attachment=7939]

پاسخ دکتر حقیقت:

۰
ارسال:
  

esi پاسخ داده:

ابهام در تأمین همروندی SWAP

تمام الگوریتم های یعنی دکر،پترسون، TSL، swap به علت انتظار مشغولی هیچ فرضی در مورد انتظار نا محدود نداره چون به روند اجرای فرآیند ها بستگی داره و اونهارو دائم مشغول تست ورود به ناحیه نگه میداره.
الگوریتم مشکلی نداره و شرط انتظار به انتظار مشغول و ترتیب اجرای فرآیند ها بستگی داره که همه الگوریتم هایی که شرط While دارن انتظار رو دارن.

۰
ارسال:
  

esi پاسخ داده:

ابهام در تأمین همروندی SWAP

با فرض اینکه swap اتمیک باشه مسلمه الگوریتم درسته همون الگوریتم تعویض هستش، تو کتاب استالینگز فکر کنم از دستور تویض exchange استفاده کرده ، به هر حال هردو در صورت اتمیک بودن دستور مباله کلید و فضای مشترک انحصار متقابل رو تامین می کنه.
اما در مورد شرط پیشرفت، خوب این الگوریتم شرط پیشرفت رو نقض نمی کنه، یعنی شرط Progress رعایت میشه و تضمین می کنه حتما فرآیند بعد از مدت زمان مشخصی وارد ناحیه بحرانی خواهد شد، پس اگه swap اتمیک باشه یا نباشه این شرط رو داره. اما اگه اتمیک نباشه مسلما انحصار متقابل رعایت نمیشه و همزمان چند فرآیند می تونن تو ناحیه بحرانی وارد بشن(به هر حال وارد میشن). الگوریتم انتظار نا محدود هم نداره،همه بعد طی یک مدت نامشخصی اما حتمی وارد ناحیه میشن یعنی به هر حال هر کسی که lock رو false دید وارد ناحیه بحرانی میشه و مقدار lock رو هم true می کنه، در انتهای cs هم lock رو false می کنه تا دیگران انتظار نا محدود نکشن و بتونن وارد بشن.

پس گزینه ۱ درسته.

۰
ارسال:
  

narges_r پاسخ داده:

ابهام در تأمین همروندی SWAP

در کتاب دکتر حقیقت ذکر شده در الگوریتم swap شرط انتظار محدود رعایت نمیشه و اتفاقا ذکر شده شرط پیشرفت رعایت میشه

اما این الگوریتم و الگوریتم مشابه اون یعنی TSL شرط انتظار محدود رعایت نمیکنند چون هیچ کنترل کننده ای برای نوبت دهی به فرایند ها وجود نداره و امکان قحطی وجود داره و همونطور که خودتون هم گفتید فرایندها نوبت را رعایت نمیکنند که این میشه رعایت نشدن شرط انتظار محدود نه شرط پیشرفت.

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

من فکر میکنم با فرض اتمیک بودن دستور swap گزینه ۳ درسته.

۰
ارسال:
  

esi پاسخ داده:

ابهام در تأمین همروندی SWAP

من این بخش از کتاب حقیقت رو نخوندم، اما یعنی چی swap شرط انتظار محدود رو رعایت نمی کنه، اگه نکنه که یه راهکار مناسب برای انحصار متقابل نیست که !!!!!!
این روش یه روش کاملا کلاسیک و درسته و به علت سادگی در الگوریتم و زمان اجرای مطلوب پیاده سازی شده و یک فراخوان سیستمی اتمیک این رو پیاده سازی می کنه پس حتما در صورت اتمیک بودن دستور swap انحصار متقابل رعایت میشه، انتظار محدود هم نداره، به هر حال هر کی وارد cs میشه بعد یه مدتی بیرون میاد دیگه، وقتی انتظار نامحدود داریم که یه فرآیندی با هیچ فرضی نتونه دیگه وارد چرخه اجرا بشه و تا ابد منتظر صف cs می مونه.
واسه درک اینکه انتظار نا محدود چیه به الگوریتم های اولین تا ۴ مین تلاش یه نیگاه بنداز تو کتاب استالینگز

۰
ارسال:
  

narges_r پاسخ داده:

ابهام در تأمین همروندی SWAP

دقیقا در الگوریتم اولین تلاش انتظاز نامحدود رعایت نمیشه و مثال خوبی برای درک شرط انتظار نامحدود هست
البته انحصار متقابل با انتظار محدود فرق داره یعنی ممکنه انتظار محدود رعایت نشه اما انحصار متقابل رعایت بشه

۰
ارسال:
  

javadem پاسخ داده:

ابهام در تأمین همروندی SWAP

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



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تشریح تست همروندی - بررسی یکی از سوالات سال ۸۲ abji22 ۵ ۵,۲۴۶ ۰۲ دى ۱۳۹۹ ۱۱:۰۵ ق.ظ
آخرین ارسال: mohammadasadi1
Question یک نکته ابهام marvelous ۶ ۵,۵۱۰ ۰۹ دى ۱۳۹۸ ۰۱:۳۰ ب.ظ
آخرین ارسال: marvelous
  رفع ابهام در ر ابطه با سوالات پایگاه داده کنکور دکترا نرم افزار ۹۶ mos_hos ۷ ۸,۴۰۹ ۳۰ دى ۱۳۹۶ ۰۱:۱۲ ق.ظ
آخرین ارسال: nick2006
  سوال و ابهام در مورد تست گسسته ۹۵ آیتی Mehdi.Sarf ۳ ۳,۵۴۵ ۰۲ مرداد ۱۳۹۶ ۱۲:۳۳ ب.ظ
آخرین ارسال: Jooybari
  ابهام در دستور SQL peace2013 ۰ ۱,۶۹۱ ۱۷ فروردین ۱۳۹۶ ۰۸:۵۱ ب.ظ
آخرین ارسال: peace2013
  همروندی و انحصار متقابل zorkide ۱۵ ۱۳,۳۴۷ ۲۰ آذر ۱۳۹۵ ۰۱:۲۱ ق.ظ
آخرین ارسال: signal_micro
  لطفا کمک ؟!!! کنکور ای تی در هاله ای از ابهام majid10 ۱ ۲,۰۸۴ ۲۵ مهر ۱۳۹۵ ۰۱:۱۷ ب.ظ
آخرین ارسال: edward71
  ابهام در درخت بازگشتی irpersian20 ۱ ۱,۷۷۲ ۱۸ اردیبهشت ۱۳۹۵ ۰۷:۳۶ ب.ظ
آخرین ارسال: fatemeh69
  ابهام در محاسبه CDF irpersian20 ۶ ۳,۱۴۸ ۲۵ فروردین ۱۳۹۵ ۱۰:۳۲ ق.ظ
آخرین ارسال: Jooybari
  ابهام در تشخیص pi . Epi برای حالات بی اهمیت sahabi2015 ۱ ۲,۰۵۹ ۲۵ فروردین ۱۳۹۵ ۰۲:۴۸ ق.ظ
آخرین ارسال: Iranian Wizard

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close