Рубрики

ВОРОТА | GATE-CS-2007 | Вопрос 58

Два процесса, P1 и P2, должны получить доступ к критическому разделу кода. Рассмотрим следующую конструкцию синхронизации, используемую процессами: Здесь want1 и want2 являются общими переменными, которые инициализируются как false. Какое из следующих утверждений является ИСТИННЫМ относительно вышеупомянутой конструкции? V

  /* P1 */
while (true) {
  wants1 = true;
  while (wants2 == true);
  /* Critical
    Section */
  wants1=false;
}
/* Remainder section */       


/* P2 */
while (true) {
  wants2 = true;
  while (wants1==true);
  /* Critical
    Section */
  wants2 = false;
}
/* Remainder section */

(A) Это не гарантирует взаимное исключение.
(B) Это не гарантирует ограниченное ожидание.
(C) Требуется, чтобы процессы входили в критическую секцию строго поочередно.
(D) Это не предотвращает взаимоблокировки, но обеспечивает взаимное исключение.

Ответ: (D)
Объяснение:
Ограниченное ожидание: существует ограничение или ограничение количества раз, когда другим процессам разрешено входить в свои критические секции после того, как процесс сделал запрос на вход в свою критическую секцию, и до того, как этот запрос будет удовлетворен.

взаимное исключение предотвращает одновременный доступ к общему ресурсу. Эта концепция используется в параллельном программировании с критическим разделом, фрагментом кода, в котором процессы или потоки обращаются к общему ресурсу.

Решение:

Два процесса, P1 и P2, должны получить доступ к критическому разделу кода. Здесь want1 и want2 являются общими переменными, которые инициализируются как false.
Теперь, когда оба значения want1 и want2 становятся истинными, оба процесса p1 и p2 входят в цикл while и ожидают завершения друг друга. Этот цикл while работает бесконечно, что приводит к тупику.
Теперь предположим, что P1 находится в критической секции (это означает, что want1 = true, want2 может быть любым, true или false). Таким образом, это гарантирует, что p2 не войдет в критическую секцию и наоборот. Это удовлетворяет свойству взаимного исключения.
Здесь также выполняется ограниченное условие ожидания, поскольку существует ограничение на число процессов, которые получают доступ к критическому разделу после обращения к нему запроса процесса.

Смотрите вопрос 3 из http://espressocode.top/operating-systems-set-13/

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

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

ВОРОТА | GATE-CS-2007 | Вопрос 58

0.00 (0%) 0 votes