next up previous contents
Next: Локальная информация ядра Up: DIPC - Распределенные межпроцессные Previous: Удаление структур IPC   Contents

Окончательное удаление структур IPC

После того, как структура удалена, она может быть удалена ``окончательно'' (это осуществляется во всех случаях, когда имеются очереди сообщений и наборы семафоров). Поскольку структура удаляется окончательно, referee информируется об этом, а также referee окончательно удаляет данную машину из своих таблиц - как ``держателя'' данной структуры. Ниже показано, что происходит в этом случае:

Сеть (Запрашивающий компьютер) | (Арбитрирующий компьютер) | |-1->back_end~>-2-+ | | | | ядро | employer--3------|-> referee |

Когда на компьютере окончательно удаляется структура IPC, об этом сообщается back_end (1). Он раздваивает employer (2) и ``приносит'' эти новости referee (3), который окончательно удаляет свои соответствующие элементы, проверяет наличие такой структуры в разделяемой памяти и является ли действующий компьютер единственным, содержащим эту структуру. Он должен быть владельцем. В этом случае referee действует как показано на схеме:

Сеть (Арбитрирующий компьютер) | (Владелец разделяемой памяти) | referee --4------|-> front_end --5-->shm_man

В итоге referee сообщает shm_man об отсоединении (4 и 5). Все похоже на случай с простым удалением из разделяемой памяти структуры IPC.

Далее следует все остальное:

Сеть (Компьютер-владелец) | (Арбитрирующий~компьютер) | | | ядро |<----8--employer | referee | | | | | +-7-< front_end <-|------6-+

Здесь referee информирует employer о том, что все действия сделаны (6 и 7); employer информирует ядро о том, что исходный пользовательский процесс, который вызвал окончательное удаление, может продолжаться.

Никаких специальных действий не предпринимается, когда
referee не может быть информирован об окончательном удалении: referee будет считать, что компьютер по-прежнему имеет структуру и давать ошибочные ответы о данной структуре другим машинам (См. программы в каталоге tools, позволяющие частично решить такую задачу).



2004-06-22