Введение в архитектуру компьютеров

Проблема тупиков


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

Подобную ситуацию можно хорошо продемонстрировать на примере работы двух процессов p1 и p2 с одним читающим R1 и одним печатающим R2 устройствами.

Тупиковая ситуация возникает при мультипроцессировании, когда процессы p1, p2, ... , pn, заблокированные по одному и тому же ресурсу Zm, не могут быть разблокированы, так как их запросы на этот ресурс никогда не могут быть удовлетворены. Подобные конфликтные ситуации разрешаются либо ликвидацией процессов, зашедших в тупик, либо освобождением ресурса принудительным образом.

Комплекс программ, объединенных под общим названием ОБРА-БОТКА ТУПИКОВ (ОТП), как правило, выполняет следующие функции:

·

анализирует возможности избежания тупиков и предотвращает их, если возможно;

·    определяет множество процессов, находящихся в состоянии тупика;

·    определяет способы и принимает меры для выхода из тупика.

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



Содержание раздела