Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SPIOS_mobchik.doc
Скачиваний:
2
Добавлен:
24.04.2019
Размер:
3.49 Mб
Скачать

8. Изложите алгоритм решения задачи «поставщик-потребитель» при исполь¬зовании семафоров Дейкстры

Имеет общий буфер памфти,одна изи задач пишет с негоБ2 читает и освобождает потерянную информацию.

9. Изложите алгоритм решения задачи «читатели-писатели» при использова¬нии семафоров Дейкстры

Wcreate semaphore(1,1,1;w)

R create semaphore(0,1,10,R)

Sem[0]=w sem[1]=R

Читател {

Open semaphore(0,faise,R)

Open semaphore(0,faise,W)

Wait for single object (w,infinite)

Release semaphore(w)

Read(data)

Renase semaphore (R)

Писарь {

Open semaphore(0,faise,W)

Open semaphore(0,faise,R)

Wait for multiple object (sim true,infinite)

Release semaphore(R)

write(data)

Renase semaphore (W),}

P {whike true {4itatel}

And {whike true {4itatel}

And {whike true {4itatel}

And {whike true {pisatel}

And {whike true {pisatel}

10. Что такое «монитор Хоара»? Приведите пример такого монитора

Монитор – это набор процедур и информационных структур, которыми процессы пользуются в режиме разделения, причем в фиксированный момент времени им может пользоваться только один процесс.

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

Монитор не является процессом, это пассивный объект, который приходит в активное состояние только тогда, когда какой-то объект обращается к нему за услугами. Часто монитор сравнивают с запертой комнатой, от которой имеется только один ключ. Услугами этой комнаты может воспользоваться только тот, у кого есть ключ. При этом процессу запрещается оставаться там сколь угодно долго. Другой процесс должен ждать до тех пор, пока первый не выйдет из нее и передаст ключ.

В качестве примера программы-монитора может выступать планировщик ресурсов. Действительно, каждому процессу когда-нибудь понадобятся ресурсы и он будет обращаться к планировщику. Но планировщик одновременно может обслуживать только один ресурс.

Иногда монитор задерживает обратившийся к нему процесс. Это происходит, например, в случае обращения за занятым ресурсом. Монитор блокирует процесс с помощью команды "ЖДАТЬ", а в случае освобождения ресурса выдает команду "СИГНАЛ". При этом освободившийся ресурс предоставляется одному из ожидавших его процессов вместе с разрешением на продолжение работы. Управление передается команде монитора, непосредственно следующей за операцией "ЖДАТЬ".

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

11. Перечислите и поясните основные функции операционных систем, которые связаны с управлением задачами.

Система управления задачами обеспечивает прохождение их через компьютер. Операционная система выполняет следующие основные функции, связанные с управлением задачами:

- создание и удаление задач;

- планирование процессов и диспетчеризация задач;

- синхронизация задач, обеспечение их средствами коммуникации.

· Создание и удаление задач осуществляется по соответствующим запросам от пользователей или от самих задач. Задача может породить новую задачу. При этом между процессами появляются «родственные» отношения. Порождающая задача называется «предком», «родителем», а порожденная — «потомком», «сыном» или «дочерней задачей». «Предок» может приостановить или удалить свою дочернюю задачу, тогда как «потомок» не может управлять «предком».

Основным подходом к организации того или иного метода управления процессами, обеспечивающего эффективную загрузку ресурсов или выполнение каких-либо иных целей, является организация очередей процессов и ресурсов. Очевидно, что на распределение ресурсов влияют конкретные потребности тех задач, которые должны выполняться параллельно. Другими словами, можно столкнуться с ситуациями, когда невозможно эффективно распределить ресурсы, исключив возможность их простаивания. Например, всем выполняющимся процессам требуется некоторое устройство с последовательным доступом. Но поскольку оно не может распределяться между параллельно выполняющимися процессами, то процессы вынуждены будут очень долго ждать своей очереди. Таким образом, недоступность одного ресурса может привести к тому, что длительное время не будут использоваться и многие другие ресурсы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]