Состояние считается безопасным, если существует какой-то порядок планирования, при котором каждый процесс может доработать до конца, даже если все процессы внезапно и срочно запросят максимальное количество ресурсов.
Небезопасное состояние само по себе не является состоянием взаимоблокировки. Разница между безопасным и небезопасным состоянием заключается в том, что в безопасном состоянии система может гарантировать, что все процессы закончат свою работу.
Алгоритм банкира: Модель алгоритма основана на примере банкира маленького городка, имеющего дело с группой клиентов, которым он выдал ряд кредитов. Алгоритм проверяет, ведет ли выполнение каждого запроса к небезопасному состоянию. Если да, то запрос отклоняется. Если удовлетворение запроса к ресурсу приводит к безопасному состоянию, ресурс предоставляется процессу.
Рис. 2. Траектории ресурсов двух процессов
В точке t процесс В запрашивает ресурс. Система должна принять решение: предоставлять его или нет. Если ресурс предоставляется, система попадает в небезопасную область и со временем входит в состояние взаимоблокировки. Чтобы предупредить взаимоблокировку, нужно приостановить процесс В до тех пор, пока процесс, А не запросит и не высвободит плоттер.