2009 overview ИУС РВ (1185197), страница 8
Текст из файла (страница 8)
В каждый моментвремени один из предоставленных ресурсов будет иметь наивысший номер. Процесс,использующий этот ресурс, уже никогда не запросит другие занятые ресурсы. Он или закончитсвою работу, или, в худшем случае, запросит ресурс с еще большим номером. Любой такойресурс окажется доступным. В итоге процесс завершит свою работу и освободит ресурсы. Наэтот момент сложится ситуация, когда ресурс с высшим номером уже занят каким-то другимпроцессом, который также сможет закончить работу и т.д. Таким образом, все процессызавершатся без тупика.Вариантом этого алгоритма является схема, в которой отбрасывается требованиеприобретения ресурсов в строго возрастающем порядке, но сохраняется условие, что процесс неможет запросить ресурсы с меньшим номером, чем уже у него имеющиеся.Несмотря на то, что систематизация ресурсов с помощью их нумерации устраняетпроблему взаимоблокировок, бывает ситуации, когда невозможно найти порядок,удовлетворяющий всех.
Когда ресурсы включают в себя области таблицы процессов, дисковоепространство для подкачки данных, записи базы данных и т.д., число потенциальных ресурсовможет быть настолько огромным, что никакая систематизация не сможет работать.Тупики без ресурсов. Взаимоблокировки могут происходить и без какого-либо участияресурсов. Например, два процесса могут заблокировать друг друга, если каждый ждет, когдадругой выполнит определенные действия.
Такое часто случается, когда операции надобъектами синхронизации (например, операции над семафорами) были выполнены внеправильном порядке..