Борьба с тупиками

Механизм многопользовательской работы

 

 
 

 

 


Рис. 7. Граф состояний переходов из одной фазы в другую

 

Тупик возникает тогда, когда программа или процесс ожидает процесс, который никогда не наступит.

Тупик возможен в четырех случаях:

1. взаимоисключение;

2. ожидание ресурсов;

3. неперераспределение (оперативная система не может отобрать ресурсы, которые удерживает процесс);

4. круговое ожидание.


1) каждый процесс должен сразу запрашивать все ресурсы;

2) если процесс получил отказ на дополнительный ресурс, то он должен освободить все выделенные ему ресурсы;

3) все процессы линейно упорядочены по типам требуемых им ресурсов;

4) Дейкстра предложил алгоритм «Банкира». Основная идея алгоритма – надежное состояние вычислительной машины – это значит, оперативная система может завершить выполнение процесса в течение конечного времени.