Все входы кластера

Все входы кластера распределяются в одну или более групп входов; разные группы могут включать одинаковые входы.

Группа входов есть то, к чему другие кластеры могут иметь или не иметь доступа: если кластер имеет доступ к группе вхо­дов другого кластера, то он имеет право обращаться на все вхо­ды этой группы. Например, кластер, открывший файл на чте­ние, имеет доступ к группе входов (CLOSE, READ) кластера-файла, а кластер, открывший файл на запись, имеет доступ к группе входов (CLOSE, READ, WRITE).

Такой «доступ» описывается объектом, называемым подклю­чение. Подключение содержит ссылку на группу входов класте­ра-объекта и ссылку на кластера-клиента, владеющего этим подключением (доступом к этой группе входов). Например, ес­ли файл открыт на чтение для трех кластеров-клиентов, то бу­дут существовать три подключения к группе входов (CLOSE, READ) кластера-файла. Под кластером файла в этих при­мерах понимается кластер-объект, то есть кластер конкретного файла.

Некоторые группы входов кластера описываются как «ста­тические». Если группа входов описана как статическая, это означает, что после порождения кластера будет разрешен до­ступ к этой группе входов. «Кому разрешен?» — это уже другой вопрос, обсуждаемый ниже при описании процесса компоновки подсистем. В процессе выполнения кластер имеет возможность динамически разрешать и отменять доступ к своим группам входов. Для разрешения доступа используется примитив ПОД­КЛЮЧЕНИЕ, создающий подключение к указанной группе входов текущего кластера-объекта; владельцем такого подклю­чения сначала становится сам кластер-объект. В дальнейшем, он может передать подключение как параметр обращения дру­гому кластеру-клиенту, становящемуся новым владельцем под­ключения.

Метки: , ,

Связанные записи