سوال 106

حل تشریحی سوال شماره 106 سیستم‌های عامل

کنکور ارشد مهندسی کامپیوتر 1401

106.

در خصوص اجرای دستورالعمل در کامپیوترهای مطابق الگوریتم فون نیومن که داخل یک حلقه بی انتها دستورالعمل‌ها واکشی شده و اجرا می گردد و با توجه به بحث بهره‌وری CPU در هنگام وجود سیستم عامل و برنامه‌های کاربر، کدام مورد بیشتر درست است؟

1)

بهره‌وری CPU تحت هر شرایطی 100 درصد است؛ زیرا همواره الگوریتم فون نیومن اجرا میشود که شامل اجرای فرایندها یا سیستم عامل است.

2)

چون طبق الگوریتم فون نیومن CPU مدام درگیر خواهد بود، در مواقعی که برنامه‌ای برای اجرا وجود ندارد و سیستم عامل کاری ندارد، CPU به وضعیت بیکار (Halt) میرود

3)

بهره‌وری CPU را نباید با اجرای سیستم عامل بصورت همزمان لحاظ کرد، چون سیستم عامل سربار ناچیزی دارد

4)

بهره‌وری CPU نباید شامل اجرای سیستم عامل گردد، لذا همیشه بهروری کمتر از 100 درصد است

پاسخ ها

1 پاسخ
دکتر ابوالفضل حقیقت
دکتر ابوالفضل …یکشنبه 13 اردیبهشت 1405

گزینه 2 درست است.

طبق آنچه از درس معماری به خاطر داریم و مرور معماری که در فصل اول این کتاب داشتیم، CPU همیشه در سیکل الگوریتم فون نیومن شامل 1) واکشی (Fetch)، 2) رمزگشایی (Decode) و واکشی عملوند (Operand Fetch) 3) اجرا (Execute) یا دسترسی به حافظه (Memory Access) 4) بازنویسی (Write Back) می‌چرخد. گزینه 1 نادرست است، چون حتی اگر CPU همیشه مشغول باشد دلیلی ندارد که تمام مشغولیتش مفید باشد. لحظاتی که CPU مشغول اجرای فرایند کاربر نیست و مثلاً در حال اجرای کد سیستم عامل (به عنوان مثال در حال سوئیچ یا تعویض فرایند) است (سربار سیستم عامل) یا بیکار است و مثلاً در حلقه انتظار مشغول (Busy wait) می­‌چرخد، زمان تلف شده و غیر مفید محسوب می­‌شود. گزینه 3 هم نادرست است چون سربار سیستم عامل در برخی از ساختارها مانند ریزهسته بیش از 20 درصد است! (به دلیل تله­های زیاد هسته) و در ضمن بدیهی است که باید سربار سیستم عامل را لحاظ کرد و به همین دلیل گزینه 4 هم نادرست است که نمی­‌خواهد سربار سیستم عامل را لحاظ نماید. گزینه 2 درست است و اگر کار کاربری و سیستم عاملی نداشته باشیم باید CPU به وضعیت بیکاری برود. بعضی از CPUها در وضعیت Halt (با اجرای دستورالعمل Halt) خودشان با سرعت پایین و مصرف کم برق در حال چرخش در حلقه انتظار مشغول هستند.

ارسال پاسخ