Безопасное состояние системы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Безопасное состояние системы



Безопасным состоянием назовем такое состояние, перевод системы в которое не приведет к появлению тупиков.

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

Система находится в безопасном состоянии, если существует безопасная последовательность, состоящая из всех процессов в системе.

Безопасной последовательностью процессов называется последовательность процессов <P1, … Pn>, такая, что для каждого процесса Pi ресурсы, которые он может еще запросить, могут быть выделены из текущих доступных ресурсов и ресурсов, удерживаемых процессами Pj, где j < i.

Если последовательность процессов безопасна, то система может придерживаться следующей безопасной стратегии, с точки зрения распределения ресурсов и исполнения процессов:

· Если потребности процесса Pi в ресурсах не могут быть немедленно удовлетворены, то процесс может подождать, пока завершатся процессы Pj (где j < i), удерживающие требуемые ресурсы;

· Когда процессы Pj завершены, процесс Pi может получить требуемые ресурсы, выполниться, вернуть удерживаемые ресурсы и завершиться;

· После завершения процесса Pi, процесс Pi+1 может получить требуемые им ресурсы, и т.д.

Таким образом, справедливы следующие утверждения:

· Если система в безопасном состоянии, тупиков нет;

· Если системы в небезопасном состоянии, тупики возможны;

· Для того, чтобы избежать тупиков, необходимо проверять перед выделением ресурсов, что система никогда не придет в небезопасное состояние.

Модифицированный вариант графа распределения ресурсов для стратегии избежания тупиков

Для реализации стратегии избежания тупиков к данному графу необходимо добавить информацию не только о фактических, но и о возможных в будущем запросах ресурсов со стороны процессов. Для этого, в дополнение к дугам запросов и присваиваний, введем в рассмотрение дугу потребности (claim edge), которая ведет из вершины-процесса Pi в вершину- ресурс Rj, обозначается пунктирной линией и означает, что процесс Pi может потребовать ресурс Rj.

Когда процесс фактически запрашивает данный ресурс, дуга потребности преобразуется в дугу запроса (пунктирная линия заменяется сплошной).

Когда процесс освобождает ресурс, дуга присваивания преобразуется обратно в дугу потребности.

Цель данной модификации графа – обеспечить, чтобы потребность в ресурсах была априорно известна системе.

Пример графа распределения ресурсов для стратегии избежания тупиков приведен на рис.1.

Рис. 1. Пример графа распределения ресурсов для стратегии избежания тупиков.

 

Легко видеть, что небезопасные состояния системы отображаются циклами в модифицированном графе распределения ресурсов. Пример небезопасного состояния на графе распределения ресурсов приведен на рис.2.

Рис. 2. Пример небезопасного состояния на графе распределения ресурсов.

Принципы алгоритма банкира

Алгоритм банкира для безопасного распределения ресурсов операционной системой (с избежанием тупиков) был предложен Э. Дейкстрой и впервые реализован в операционной системе THE в конце 1960-х гг. Происхождение названия связано с тем, что поведение алгоритма напоминает осторожную стратегию банкира при проведении банковских операций. Принципы алгоритма банкира следующие.

· Каждый процесс должен априорно обозначить свои потребности в ресурсах по максимуму.

· Когда процесс запрашивает ресурс, ему, возможно придется подождать (выделение ресурсов по запросу не всегда может произойти немедленно).

· Когда процесс получает требуемые ресурсы, он должен их вернуть системе за ограниченный период времени.



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 421; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.145.52 (0.005 с.)