سوال 97

حل تشریحی سوال شماره 97 مجموعه دروس تخصصی مشترک

کنکور ارشد مهندسی فناوری اطلاعات (IT) 1399

97.

در یک سیستم ۵۰ پردازه (Process) با کد زیر به صورت هم‌روند (Concurrent) در حال اجرا هستند. اگر مقدار اولیه سمافورها و باشند، حداکثر چند پردازه ممکن است پشت سمافور z در حالت انتظار بلوکه شوند؟

Wait (x);

Wait(y);

Wait (z);

a=a+1;

signal (z);

signal (y);

signal (x);

1)

14

2)

30

3)

49

4)

50

پاسخ ها

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

گزينه 1 درست است.

تست ساده‌­ای است. می­‌دانیم حداکثر 15 فرایند می‌­توانند در ناحیه بین wait(y); و signal(y); در حال اجرا باشند. همچنین می­‌دانیم حداکثر 1 فرایند می­‌تواند در ناحیه بین wait(z); و signal(z); در حال اجرا باشد. اگر 15 فرایند در ناحیه بین wait(y); و signal(y); در حال اجرا باشند و یکی از آنها در ناحیه بین wait(z); و signal(z); در حال اجرا باشد و 14 فرایند دیگر بخواهند وارد ناحیه بین wait(z); و signal(z); شوند، همگی در صف سمافور z خواهند خوابید.

ارسال پاسخ