حل تشریحی سوال شماره 45 سیستم های عامل پیشرفته
کنکور دکتری مهندسی کامپیوتر 1400
راه حل نرم افزاری زیر برای حل مسئله ناحیه بحرانی برای دو نخ (Thread) پیشنهاد شده است. کدام گزینه درست است؟ (بهترین گزینه را انتخاب کنید.)
Thread 0:
while (true) {
٫٫ non-critical work
flag[0] = true;
while(turn != 0) {
while (flag[1]);
turn = 0;
}
critical_work();
flag[0] = false;
٫٫ non-critical work
}
Thread 1:
while (true) {
٫٫ non-critical work
flag[1] = true;
while (turn!= 1) {
while (flag[0]);
turn = 1:
critical_work();
flag[1] = false;
٫٫ non-critical work
}
این الگوریتم انحصار متقابل (Multual-Exclusion) ندارد.
این الگوریتم انتظار محدود (Bounded Waiting) ندارد.
این الگوریتم امکان پیشرفت (Progress) ندارد.
این الگوریتم انحصار متقابل و انتظار محدود ندارد.