Траектории ресурса

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

На рис. 6.6 представлена модель для системы с двумя процессами и двумя ресурсами, например принтером и плоттером. На горизонтальной оси отображены номера команд, выполняемых процессом А. На вертикальной оси отображены номера команд, выполняемых процессом В. В команде процесс А запрашивает принтер, в команде 12 он запрашивает плоттер. Принтер и плоттер высвобождаются командами 13 и 14 соответственно. Процессу В нужны плоттер с команды 15 по команду 17 и принтер с команды 16 по команду 18.

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

Рис. 6.6. Траектории ресурсов двух процессов


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

Когда процесс А пересекает прямую 11 на пути из г в 5, он запрашивает, а затем получает в свое распоряжение принтер. Когда процесс В достигает точки £, он запрашивает плоттер.

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

Если система войдет в прямоугольник, ограниченный по бокам прямыми 11 и 12, а сверху и снизу прямыми 15 и 16, то она в конце концов доберется до пересечения линий 12 и 16 и возникнет взаимоблокировка. В этот момент процесс А запрашивает плоттер, а процесс В запрашивает принтер, но оба ресурса будут уже выделены. Получается, что небезопасным является весь прямоугольник и в него входить нельзя. В точке £ единственным безопасным действием будет работа процесса до тех пор, пока он не дойдет до команды 14. После нее для того, чтобы добраться до точки и, подойдет любая траектория.

Важный для понимания момент заключается в том, что в точке £ процесс В запрашивает ресурс. Система должна принять решение, предоставлять его или нет. Если ресурс предоставляется, система попадает в небезопасную область и со временем входит в состояние взаимоблокировки. Чтобы предупредить взаимоблокировку, нужно приостановить процесс В до тех пор, пока процесс А не запросит и не высвободит плоттер.

6.5.2.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Траектории ресурса:

  1. 4. Ресурсы (resources)
  2. 2. Законодательство относительно добычи топливных ресурсов
  3. § 3. Земля и другие природные ресурсы
  4. Оптимизм и физические ресурсы
  5. 8.2. Государственная политика в области формирования и использования информационных ресурсов
  6. 2. Собственность на землю и другие природные ресурсы
  7. Параграф 5. Снабжение энергетическими и другими ресурсами через присоединенную сеть
  8. Статья 714. Договор снабжения энергетическими и другими ресурсами через присоединенную сеть
  9. 8.1. Конституционная основа формирования и использования информационных ресурсов
  10. Перечень интернет-ресурсов по дисциплине
  11. Конкуренция из-за ограниченных ресурсов. Глупая ярость