Как определить, возможна ли тупиковая ситуация, учитывая количество процессов и ресурсов - PullRequest
0 голосов
/ 13 июня 2018

Рассмотрим систему, которая имеет три процесса и три идентичных ресурса.Каждый процесс требует максимум двух ресурсов.Возможна ли тупиковая ситуация в этой системе?

Насколько я понимаю, возможна взаимоблокировка, если одновременно выполняются четыре условия: взаимное исключение, удержание и ожидание, отсутствие упреждения и циклическое ожидание.

Если каждому процессу выделяется один ресурс, то все три ресурса будут удерживаться.Четвертого доступного ресурса нет.

Как мне доказать, что тупик невозможен, и как рассчитать, сколько ресурсов должно быть доступно для освобождения тупика системы?

Ответы [ 2 ]

0 голосов
/ 14 июня 2018

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

Например: Система имеет 3 процесса, совместно использующих 4 ресурса.Если каждому процессу требуется максимум 2 блока, то:

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

Назначьте 1 ресурс (максимум нужно -1) каждому процессу.

выделенные ресурсы = 1 + 1 +1 = 3

у нас еще есть 1 ресурс, чтобы избежать тупиков.

, поэтому тупиковые ситуации невозможны.

0 голосов
/ 14 июня 2018

В таких случаях трюк состоит в том, чтобы оценить условие CIRCULAR WAIT и посмотреть, выполняется оно или нет.3 процесса и 3 идентичных ресурса.Давайте дадим 1 каждому из них. 0 ресурсов осталось, но ни одно из требований процесса не выполнено (, поскольку каждому требуется 2 ), что означает, что каждый процесс ожидает, пока какой-то другой процесс освободит ресурсы ,Круглое условие ожидания выполнено.Поэтому данный сценарий может привести * тупик .

Предположим, у нас есть n процессов и m идентичных ресурсов с максимальными требованиями как d1, d2, d3 ...... дн.

Если м> (d1-1) + (d2-1) + (d3-1)...... (dn-1). , затем без тупиков ,

в противном случае это может привести к тупикам

...