Главная Обратная связь

Дисциплины:






Монопольные используемые, свойства, действия ОС при выделении ресурсов процессу



Свойство нераспределяемости – ресурс не может быть отобран процессом во время его использования без фатальных для него последствий.

1. Повторная используемость (после использования процессами ресурсом они не пропадают)

2. Дискретность и ограниченность (ресурсы распределяются некоторыми неделимыми единицами и число единиц ресурса не бесконечно. Процессорное время бесконечно: его достаточно для выполнения любого процесса, и оно может дробиться планировщиком. Реальная память всегда конечна, виртуальная тоже конечна, ограничена разрядностью виртуального адреса, а непрерывность или дискретность ее зависит от принятой модели).

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

К группе монопольных ресурсов относятся многие устройства ввода-вывода: принтеры, магнитные ленты, каналы связи и т.п., файлы (они могут быть разделяемыми, но со значительными оговорками). Не забудем также вторичные ресурсы, порождаемые самой ОС, — системные структуры данных и коды. Так, например, при создании нового процесса необходимо занести новую запись в таблицу процессов. Эта запись также является ресурсом, причем неперераспределяемым и неразделяемым.

 

Класс ресурса – множество идентичных неименованных единиц ресурса. ОС имеет в своем составе возможность системных вызовов: «выделить ресурс», «освободить ресурс».

Для каждого класса ОС должна поддерживать определенную структуру:

-идентификатор (нули и единицы)

-общее число единиц в классе

- список процессов, которые ожидают этот ресурс

- таблица единиц ресурса

- точка входа в менеджер класса

31. Задача распределения ресурсов («Обедающие философы»), тупики, бесконечное откладывание.

Уже классической стала неформальная постановка задачи распределения ресурсов, носящая название "проблемы обедающих философов" и показанная на рисунке 5.1.

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



Если мы установим, что каждый философ должен взять одну палочку и не выпускать ее из рук до тех пор, пока не возьмет вторую палочку, то мы можем получить ситуацию, показанную на рисунке 5.1. (Стрелка от философа к палочке означает, что философ хочет взять эту палочку, стрелка в обратном направлении – что эту палочку этот философ уже взял.) Каждый из философов взял палочку справа от себя, но не может взять палочку слева. Ни один из философов не может ни есть, ни думать. Эта ситуация и называется тупиком (deadlock).

Если же мы установим, что философ должен взять обе палочки сразу, то может возникнуть ситуация, показанная на рисунке 5.2. Философ Чжуан хочет взять палочки, но обнаруживает, что его правая палочка занята философом Мо. Чжуан ожидает. Тем временем философ Мэн берет свои палочки и начинает есть. Мо есть заканчивает, но Чжуан не может начать есть, так как теперь занята его левая палочка. Если Мо и Мэн едят попеременно, то Чжуан попадает в положение, которое называется голоданием (starvation) или бесконечным откладыванием.





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...