Рубрики

ВОРОТА | GATE-CS-2006 | Вопрос 85

Рассмотрим следующий снимок системы, в которой запущено n процессов. Процесс i содержит Xi экземпляров ресурса R, 1 <= i <= n. В настоящее время все экземпляры R заняты. Далее, для всех i, процесс i разместил запрос на дополнительные экземпляры Yi, в то же время удерживая экземпляры Xi, которые у него уже есть. Существует ровно два процесса p и q, таких, что Yp = Yq = 0. Какой из следующих может служить необходимым условием, чтобы гарантировать, что система не заходит в тупик?
(A) min (Xp, Xq) <max (Yk), где k! = P и k! = Q
(B) Xp + Xq> = min (Yk) где k! = P и k! = Q
(C) max (Xp, Xq)> 1
(D) мин (Xp, Xq)> 1

Ответ: (Б)
Объяснение:

Взаимная блокировка относится к определенному условию, когда два или более процессов каждый ожидает, пока другой освободит ресурс, или более двух процессов ожидают ресурсы.

Решение:

Необходимое условие, гарантирующее отсутствие тупика, что означает, что без выполнения этого условия тупик невозможен. Оба процесса p и q не имеют дополнительных требований; они оба могут закончить выпуск ресурсов Xp + Xq, не запрашивая никаких дополнительных ресурсов.
Используя это, мы можем завершить еще один процесс, только если условие B выполнено. Если ресурсов, высвобождаемых p и q, достаточно для другого процесса, ожидающего ресурсов Yk, то система не подходит к тупику.
то есть Xp + Xq> min (Yk) где k! = p и k! = q

Примечание. Опция B просто гарантировала, что система может перейти из текущего состояния. Это не гарантирует, что не будет тупиковой ситуации до завершения всех процессов.

Смотрите вопрос 4 из http://espressocode.top/operating-systems-set-15/
Ссылка :
https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/7_Deadlocks.html

Это решение предоставлено Nitika Bansal
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2006 | Вопрос 85

0.00 (0%) 0 votes