Главные стратегические принципы предотвращения тупиков (принципы J.W. Havendera).

Для предотвращения тупиков ещё 1967 году Havender J.W. предложил три стратегических принципа:

1) каждый процесс должен запрашивать все требуемые ресурсы сразу и не может начать выполняться до полного предоставления ему ресурсов.

2) Если процесс, удерживающий определённые ресурсы получает отказ в удовлетворении запроса на дополнительные ресурсы, то этот процесс должен освободить свои первоначальные ресурсы и снова запросить их вместе с дополнительными.

3) Следует ввести линейную упорядоченность по типам ресурсов для всех процессов. Если процессу выделены ресурсы данного типа, то в дальнейшем он может запрашивать только ресурсы далёких по порядку типов. Всем ресурсам в системе присваиваются уникальные номера и процессы должны запрашивать ресурсы в порядке возрастания номеров, что позволяет не возникнуть в системе ситуации «кругового ожидания».