تالار گفتمان مانشت

نسخه‌ی کامل: سیستم های عامل – تست آزاد 82
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
این تست در صفحه ی 236 کتاب دکتر حقیقت آمده:

- کدامیک از گزینه های زیر از دلایل استفاده از سمافور نیست؟
1) حل مشکل دو به دو ناسازگاری
2) حل مشکل بن بست
3) هماهنگی بین پروسس ها
4) حل مشکل انتظار مشغول

جواب گزینه 2 معرفی شده و گفته شده استفاده نادرست از سمافورها میتونه باعث ایجاد بن بست بشه! اما به نظرم این قانع کننده نیست چون استفاده ی نادرست ازش میتونه باعث نقض دو به دو ناسازگاری هم بشه.
به نظر من هیچ کدوم از گزینه ها جواب نیست چون سمافور همه اینها رو حل میکنه و روش های قبلی دست کم یکی از این مشکلات رو داشتند، نظر شما درباره این تست چیه؟
تست جالبی نیست! گزینه هارو یکی یکی باید رد کرد تا به جواب رسید.
گزینه 4، با wait کردن یک فرآیند و گذاشتنش در صف انتظار و همچنین با signal کردن و خارج کردنش از صف از "انتظار مشغول" جلوگیری میشه و این وظیفه ی سمافور رو هست.
گزینه 3، گزینه ای هست که هریک از روش های درست توضیح داده شده در کتاب ها باید اون رو تحقق ببخشند، یعنی هماهنگی بین فرآیند ها وظیفه هر کدوم ار روش های درست است، و سمافور هم استثنا نیست.
گزینه 1، در سمافور ها از یک سمافور با مقدار اولیه 1 میشه مشکل مانعه الجمعی (بسی رنج بردیم در این سال سی ... که رنج برده باشیم فقط مانعه الجمعی !!! عذرخواهی می کنم از جناب فردوسی) رو حل کرد. در اینجا هم فرض رو براین گرفته که همه چی درست هست و مقدار اولیه سمافور هم 1 هست!!! اگر مقدار بیشتر از یک باشه که تعداد بیشتری فرایند همزمان در نقاط بحرانی هستند، و اگه مقدار 0 یا کمتر از 0 باشه که هیچ فرایندی اجازه ورود نداره.
تنها گزینه گزینه 2 میتونه باشه، که فقط باید از طریق امداد غیبی حدس زد! البته در کتابها یه قسمتی رو بعنوان "مشکل بن بست سمافور ها" ذکر کرده اند، که طراح محترم بنظر از همین عنوان ایده گرفته!
لینک مرجع