Операционные системы. Управление ресурсами


Обедающие философы - часть 2



Рис.5.2. Обедающие философы. Бесконечное откладывание

Переходя от философов к вычислительным системам, мы можем проиллюстрировать тупик таким примером. Процесс A использует магнитную ленту, но для завершения ему нужен еще и принтер. В это время процесс B удерживает за собой принтер, но ему нужна еще магнитная лента. Процессы A и B блокируют друг друга, то есть, находятся в тупике. В системах с множественными ресурсами и с высоким уровнем мультипрограммирования тупиковые ситуации могут быть и не столь очевидными. Тупики могут быть локальными и глобальными. Так, если в вышеприведенном примере уровень мультипрограммирования выше 2, то процессы A и B находятся в локальном тупике, другие процессы, которым не требуются ресурсы, занятые процессами A и B, могут выполняться. Философы же на Рис.5.1 находятся в глобальном тупике.

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

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




Начало  Назад  Вперед



Книжный магазин