سوال در مورد ناحیه بحرانی - نسخهی قابل چاپ |
سوال در مورد ناحیه بحرانی - zeinab - 27 دى ۱۳۹۰ ۱۰:۰۸ ق.ظ
سلام بچهها . این جمله رو بخونین ببینین درست گفته یا غلط ؟! کامپیوتری را با دو پردازش H (الویت بالا) و L (الویت پایین) در نظر بگیرید . فرض کنید در حالیکه L در ناحیه بحرانی خود قرار دارد H شروع به چرخیدن در حلقه انتظار کند . ازآنجا که H در حال اجرا است و تا هنگامیکه H اجرا می شود، زمانبند هیچگاه به L سوئیچ نمیکند، هیچگاه L شانس این را پیدا نمیکند که از ناحیه بحرانی اش خارج شود . بنابراین H تا بی نهایت در حلقه دور میزند. مرسی |
سوال در مورد ناحیه بحرانی - shervinrs - 27 دى ۱۳۹۰ ۱۱:۳۳ ق.ظ
این مسئله تحت عنوان "مشکل اولویت معکوس" در کتاب حقیقت توضیح داده شده و درسته. البته با این فرض که زمانبند هیچگاه به L سوئیچ نکنه. |
RE: سوال در مورد ناحیه بحرانی - مازیار صفایی - ۲۷ دى ۱۳۹۰ ۱۱:۳۶ ق.ظ
به نظر من بستگی به الگوریتم زمانبندی داره. اگه انحصاری باشه یک جور باید تحلیل کرد وگرنه یک جور دیگه. مال کدام کتاب یا سوال کنکوره؟ |
سوال در مورد ناحیه بحرانی - narges_r - 27 دى ۱۳۹۰ ۰۸:۰۸ ب.ظ
درسته چون الویت H بالاتره پس تا کار H انجام نشه پردازنده به L داده نمیشه و از اونجایی که H میخواد وارد ناحیه بحرانی بشه و چون L در ناحیه بحرانی هست منتظر میمونه تا L از ناحیه بحرانی خارج بشه و همینطور اینکه L برای خروج از ناحیه بحرانی احتیاج به پردازنده داره پس بن بست رخ میده |
RE: سوال در مورد ناحیه بحرانی - zeinab - 28 دى ۱۳۹۰ ۱۱:۳۷ ب.ظ
(۲۷ دى ۱۳۹۰ ۱۱:۳۶ ق.ظ)باد نوشته شده توسط: به نظر من بستگی به الگوریتم زمانبندی داره. اگه انحصاری باشه یک جور باید تحلیل کرد وگرنه یک جور دیگه.از کتاب مقسمی هست . فصل ۳ صفحه ۱۰۸ من با خود جمله ش مشکل دارم !!! اولش میگه H تو حلقه انتظاره، بعدش گفته " ازآنجا که H در حال اجرا است و تا هنگامیکه H اجرا می شود " !!!! و اینکه اول گفته L در ناحیه بحرانی خود قرار دارد " دو جمله بعد میگه "تا هنگامیکه H اجرا می شود، زمانبند هیچگاه به L سوئیچ نمیکند "!!! میدونم شما رو هم گیج کردم... |
سوال در مورد ناحیه بحرانی - narges_r - 29 دى ۱۳۹۰ ۱۲:۴۴ ق.ظ
اصلا موضوع گیج کننده ای نیست اگر کتاب پارسه دکتر حقیقتو داشته باشید خیلی خوب توضیح داده (صفحه ۱۹۷) ببینید دو فرایند داریم یکی الویت بالاتر داره H و دیگری الویت پایینتر L که هر دوی این فرایندها یک ناحیه بحرانی مشترک دارند قوانین زمانبندی طوری طراحی شده که هرگاه H در وضعیت "اماده" باشه باید اجرا بشه حالا تصور کنید که L در ناحیه بحرانی باشه و H اماده اجرا بشه (مثلا فرض کنید که عملیات I/O مربوط به H تموم شده) حالا H میخواد اجرا بشه پس پردازنده رو در اختیار میگیره حالا اگر بخواد وارد ناحیه بحرانی بشه وارد حلقه انتظار مشغول میشه چون L درناحیه بحرانی هست و چون H در حال اجراست و تا زمانی که H در حال اجراست زمانبند هرگز به L سوئیچ نمیکنه و پردازنده رو به L نمیده پس L هیچ وقت شانس ترک ناحیه بحرانی رو نداره و H هم برای همیشه در حلقه انتظار مشغول باقی میمونه پس بن بست رخ میده چون L منتظر H تا پردازنده رو رها کنه و H منتظر L تا ناحیه بحرانی رو ترک کنه به این نوع بن بست، بن بست الویت معکوس میگن در ضمن وقتی فرایند در حلقه انتظار مشغوله یعنی پردازنده رو در اختیار داره و این یعنی در حال اجراست |
RE: سوال در مورد ناحیه بحرانی - zzsnowdrop - 01 بهمن ۱۳۹۰ ۰۷:۴۵ ب.ظ
(۲۷ دى ۱۳۹۰ ۱۰:۰۸ ق.ظ)zeinab نوشته شده توسط: سلام بچهها . همینطور که گفتن این الویت معکوس هستش. چیز عجیبی نیست.حالتی رو در نظر بگیرید که فرایندها اولیت بندی شده هستن و سیستم پردازنده رو به فرایندی میده که اولویت بالاتری داره.حالا فرایندA توی ناحیه بحرانی خودش هست که فرایند B با اولویت بالاتر وارد میشه.در این صورت چون اولیت فرایند جدید بالاتر هست پس اون پردازنده رو در اختیار میگیره.حالا اگه این فرایند جدید اولویت بالا در حال اجرای خط شرط ورود به ناحیه بحرانیش باشه و میدونیم که فرایند قبلییعنی A توی ناحیه بحرانی هستش و با تعویض متن خارج شده پس فرایند B توی خط شرطش دچار یک حلقهی بدون پایان میشه. حالا نه اون اجراش تموم شده و پردازنده رو رها میکنه نه فرایند اولویت پایین پردازنده رو به دست میاره که اجراشو خاتمه بده. |