Понятие тупика, характеристика отношений, возникающих в системе.

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

Тупиковая ситуация является следствием того, что один или более процессов находятся в состоянии тупика.

Обнаружение тупика – это установление факта того что возникла тупиковая ситуация и определение процессов и ресурсов, вовлечённых в эту тупиковую ситуацию.

Применение алгоритмов обнаружения тупиков сопряжено с определёнными дополнительными затратами машинного времени. Поскольку появляется необходимость принимать компромиссные решения, что вообще характерно для операционных систем.

Процессы в системе обозначим квадратами, классы идентичных ресурсов – большими кружками, малые кружки, находящиеся внутри больших будут означать количество ресурсов внутри каждого класса. Рассмотрим возможные отношения, которые могут возникнуть в системе на графе запросов и распределения ресурсов.

А.)В текущий момент времени запрос от процесса на выделение ресурса находится на стадии рассмотрения.

Б.) Ресурс R1 выделен процессу Р1.

В.) Процесс Р3 запрашивает ресурс R3, который выделен Р4. Ситуация потенциального тупика.

Г.) ресурс R5 выделен процессу Р5, который запрашивает ресурс R4, который в свою очередь выделен процессу R6. Ситуация тупика.