Методы борьбы с тупиками.


Борьба с тупиками основывается на одной из 3х стратегий:
— предотвращение тупика;
— обход тупика;
— распознавание тупика с последующим восстановлением.

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

Загрузка...