Рубрики

ВОРОТА | GATE CS 2010 | Вопрос 23

Рассмотрим методы, используемые процессами P1 и P2 для доступа к их критическим секциям, когда это необходимо, как указано ниже. Начальные значения общих логических переменных S1 и S2 назначаются случайным образом.

Method Used by P1
while (S1 == S2) ;
Critica1 Section
S1 = S2;

Method Used by P2
while (S1 != S2) ;
Critica1 Section
S2 = not (S1);

Какое из следующих утверждений описывает достигнутые свойства?
(A) взаимное исключение, но не прогресс
(B) Прогресс, но не взаимное исключение
(С) Ни взаимное исключение, ни прогресс
(D) и взаимное исключение и прогресс

Ответ: (А)
Объяснение:
Взаимное исключение:
Способ убедиться, что если один процесс использует совместно используемые изменяемые данные, другие процессы будут исключены из того же действия. в то время как один процесс выполняет общую переменную, все другие процессы, желающие сделать это в одно и то же время, должны оставаться в ожидании; когда этот процесс завершил выполнение разделяемой переменной, один из процессов ожидает; хотя этот процесс завершил выполнение разделяемой переменной, один из процессов, ожидающих этого, должен быть допущен к продолжению. Таким образом, каждый процесс, выполняющий общие данные (переменные), исключает возможность одновременного выполнения другими. Это называется взаимное исключение.

Требование прогресса:
Если ни один процесс не выполняется в своей критической секции, и существуют некоторые процессы, которые хотят войти в свою критическую секцию, то выбор процессов, которые войдут в критическую секцию далее, не может быть отложен на неопределенное время.

Решение:

Легко заметить, что вышеуказанное решение удовлетворяет требованию взаимного исключения: P1 может войти в критическую секцию, только если S1 не равен S2, а P2 может войти в критическую секцию, только если S1 равно S2. Но здесь Требование к прогрессу не выполняется. Предположим, что когда s1 = 1 и s2 = 0, а процесс p1 не заинтересован входить в критическую секцию, но p2 хочет войти в критическую секцию. P2 не может войти в критическую секцию, так как только когда p1 заканчивает выполнение, тогда может войти только p2 (тогда будет выполнено только условие s1 = s2). Прогресс не будет удовлетворен, когда какой-либо процесс, который не заинтересован войти в критический раздел, не позволит другому заинтересованному процессу войти в критический раздел.

Ссылка :
http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/mutualExclu.htm
Смотрите http://espressocode.top/operating-systems-set-7/

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

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

ВОРОТА | GATE CS 2010 | Вопрос 23

0.00 (0%) 0 votes