База ответов ИНТУИТ

Основы операционных систем

<<- Назад к вопросам

В маленьком ресторанчике, где готовят пиццу, работают отец и три его дочери. Приготовление пиццы требует трех ингредиентов: теста, соуса и сыра. Одна дочь должна непрерывно поставлять тесто, вторая - соус, третья - тертый сыр. Приготовление пиццы происходит следующим образом: первая дочь формирует из теста основу пиццы, после чего вторая дочь намазывает лепешку соусом, а третья - посыпает сыром. Отец берет подготовленную дочерьми пиццу и помещает ее в печь. Используя классические мониторы Хора, программист предложил следующую модель приготовления пиццы с помощью четырех процессов: для отца и для каждой из дочерей.

monitor make_pizza {     condition c[3];     make_item(int i){if(i != 0 )c[i-1].wait;<выполнить свою работу>if(i != 3)c[i].signal;else <выставить на продажу>   }}Процесс i-й работник i = 0,1,2,3; i=3 — соответствует отцу   While (1) {make_pizza.make_item(i);}

Что может произойти в результате такого моделирования?

(Отметьте один правильный вариант ответа.)

Варианты ответа
будут накапливаться забытые недоделанные пиццы(Верный ответ)
ничего особенного не произойдет, модель будет работать нормально
посетитель может получить пиццу без какого-либо ингредиента
посетитель может не дождаться пиццы из-за возникновения тупиковой ситуации
Похожие вопросы
В вычислительной системе стартует несколько процессов, взаимодействие которых организовано с помощью монитора Хора. Сколько процессов будет находиться в состоянии ожидание, если после старта процессов над условной переменной монитра выполнить последовательность операций signal, wait, signal, wait?

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

Процесс i-й самосвал (i=0,1,2,…):if(i == 0){<создать очередь сообщений A>send(A, msg);send(A, msg);send(A, msg);}While (1) {<доехать до моста>receive(A, msg);<проехать по мосту>send(A, msg);<доехать до места назначения>}

Что может произойти в результате такого моделирования?

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

Semaphore mutex = 1;Semaphore not_full = 0;Shared int n_on_bridge = 0;Процесс i-й самосвал:While (1) {<доехать до моста>P(mutex);if(n_on_bridge == 3) P(not_full);else n_on_bridge = n_on_bridge+1;V(mutex);<проехать по мосту>P(mutex);if(n_on_bridge == 3) V(not_full);n_on_bridge = n_on_bridge-1;V(mutex);доехать до места назначения>}

Что может произойти в результате такого моделирования?

Условные переменные в мониторах Хора обычно используются:
В функциях-методах мониторов Хора обычно реализовываются
При модернизации некоторой операционной системы, поддерживающей только три состояния процессов: готовность, исполнение, ожидание, принято решение ввести два новых системных вызова. Один из этих вызовов позволяет любому процессу приостановить жизнедеятельность любого другого процесса (кроме самого себя), до тех пор, пока какой-либо процесс не выполнит второй системный вызов. Сколько новых состояний процессов появится в системе?
Термин race condition (условие гонки) относится
На каких параметрах может основываться долгосрочное планирование процессов?

Пусть в вычислительную систему поступают пять процессов различной длительности по следующей схеме:

Номер процессаМомент поступления в системуВремя исполнения
124
213
345
432
509

Чему равно среднее время между стартом процесса и его завершением (turnaround time) при использовании алгоритма RR? При вычислениях считать, что процессы не совершают операций ввода-вывода, временем переключения контекста пренебречь, величину кванта времени принять равной 3; считать, что вновь прибывший процесс добавляется в самый конец очереди готовых процессов.

Для чего нужен синхронизирующий процесс при реализации семафоров через очереди сообщений?