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

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

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

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

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

Варианты ответа
для обеспечения взаимосинхронизации кооперативных процессов
для удобства реализации
для обеспечения атомарности операций P и V(Верный ответ)
Похожие вопросы
Какие из вариантов реализации системного вызова read могут прочитать меньше байт, чем запросил процесс?
Отладка программ, содержащих очень большое количество семафоров, затруднена, так как:

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

Процесс 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);<доехать до места назначения>}

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

Известно, что для доступа к памяти через таблицу страниц необходимо 80 нс, а для доступа через ассоциативную память – 10 нс. Частота попаданий в ассоциативную память при обращении к данным (hit ratio) соcтавляет 90%. Чему равно среднее время обращения к памяти?
Из какого состояния процесс может перейти в состояние "исполнение"?
Из какого состояния процесс может перейти в состояние "ожидание"?
Когда процесс, находящийся в состоянии "закончил исполнение", может окончательно покинуть систему?
Какие процессы могут обмениваться информацией через Pipe?
Какие процессы могут обмениваться информацией через FIFO?

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

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);}

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