Тупик на ресурсах типа CR в компьютерных системах возникает из-за конкуренции несвязанных параллельных процессов за ресурсы вычислительной системы. pandia.ru infopedia.su
Также к причинам тупика относятся:
- Ошибки программирования. studfile.net pandia.ru Например, когда один из процессов не может послать сообщение до тех пор, пока сам его не получит, а этого события никогда не произойдёт. studfile.net infopedia.su
- Неправильная синхронизация взаимодействия процессов со стороны операционной системы. vunivere.ru
- Затор в системе, когда слишком много процессов борются за один и тот же ресурс. vunivere.ru
Для возникновения тупика необходимо выполнение четырёх условий: studfile.net
- Взаимное исключение — процессы осуществляют монопольный доступ к ресурсам. studfile.net
- Ожидание — процесс, запросивший ресурс, ждёт до тех пор, пока запрос не будет удовлетворён, при этом удерживая ранее полученные ресурсы. studfile.net
- Отсутствие перераспределения — ресурсы нельзя отобрать у процесса, если они ему уже выделены. studfile.net
- Круговое ожидание — существует замкнутая цепь процессов, каждый из которых ждёт ресурс, удерживаемый его предшественником в этой цепи. studfile.net