Нужно некоторое разъяснение по алгоритму банкиров

просто быстрый запрос о безопасных/небезопасных состояниях в алгоритме банкира Дейкстры...

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

  Allocated        Maximum     Available

    | A | B         | A | B      A | B
 ---+---+---     ---+---+---    ---+---
 P1 | 1 | 2      P1 | 1 | 2      1 | 3
 P2 | 5 | 3      P2 | 7 | 8    

РЕДАКТИРОВАТЬ

Просто чтобы прояснить мой вопрос: находится ли система в приведенном выше примере в безопасном или небезопасном состоянии? Предполагаем ли мы, что запросы от P2 задерживаются до тех пор, пока P1 не вернет ресурсы, после чего запросы P2 могут быть выполнены и, следовательно, система безопасна, или система небезопасна, поскольку в настоящее время ни один из возможных запросов не может быть выполнен?


person Moonshield    schedule 17.05.2010    source источник
comment
Это состояние безопасно, так как у нас есть расписание ‹p1,p2›, позволяющее завершить   -  person user567879    schedule 06.09.2011


Ответы (1)


Система находится в безопасном состоянии, поскольку процесс 1 может выполняться. Когда он завершится, будет достаточно копий ресурса A и ресурса B для завершения процесса 2. Таким образом, существует «расписание», по которому система может выполнять свои процессы до завершения. Это значит, что это безопасно.

person YGL    schedule 18.05.2010