سوال 108

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

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

108.

کدام عبارت ذیل نمی‌تواند خروجی اجرای هم‌روند فرایندهای و باشد؟ (s1 متغیر سراسری با مقدار اولیه صفر می‌باشد.)

P1

P2

Print"A"

wait (s1)

Print"B"

Print"C"

signal(s1)

Print "D"

1)

ABCD

2)

ACDB

3)

CA BD

4)

CA DB

پاسخ ها

1 پاسخ
نرگس علیزاده
نرگس علیزادهسه شنبه 15 اردیبهشت 1405

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

چون مقدار اولیه شمارنده سمافور s1 صفر است، اگر فرایند P1 یک بار "A" را چاپ کند با wait(s1) می­‌خوابد و نمی‌­تواند پشت سر "A" حرف "B" را چاپ کند (بنابراین گزینه 1 درست است چون خروجی ABCD غیرممکن است). برای چاپ حرف "B" باید فرایند P2 یک بار "C" را چاپ کند و با signal(s1) فرایند P1 را بیدار کند تا بتواند حرف "B" راچاپ کند. گزینه‌­های دیگر ترتیب­‌های امکان پذیر هستند (بسته به اینکه کجا وقفه تایمر بیاید).

ارسال پاسخ