Обнаружение тупиков
Несколько задач, одновременно выполняемых в ОС ОМ, могут попасть в тупик из-за синхронизации по файлам, нехватки массовой внешней памяти, либо из-за отсутствия того и другого.
Использование дисковой памяти регламентируется бюджетом.
В задаче АРХИВ периодически запускается процедура определения тупика. Эта процедура анализирует состояние очередей к массовой памяти, файлам, общий объем массовой памяти, которой владеют задачи, и обнаруживает тупик, если он существует.
Тупик может быть полным (конфликт по файлам) или частичным (конфликт из-за нехватки массовой памяти).
Обнаружив тупик и его вид, задача АРХИВ сообщает об этом задаче ИНИЦИАТОР-ТЕРМИНАТОР. Кроме того, в случае частичного тупика сообщается относительная стоимость его разрешения - то есть время, требуемое для выталкивания файлов из массовой памяти на диски.
ИНИЦИАТОР-ТЕРМИНАТОР принимает решение о разрешении тупика на основании его вида, стоимости разрешения, приоритетов задач.
Разрешением частичного тупика может быть либо выталкивание файлов из массовой памяти на диски, либо откат к контрольной точке. Выбор между этими альтернативами делается, исходя из стоимости выталкивания и наработанного времени задачи.
Разрешением полного тупика может быть только откат к контрольной точке.