После добавления сетевого сервиса к UNIX System V появились нестандартные методы доступа к сервису системы, давшие непоследовательные интерфейсы и среду выполнения, затрудняющие работу пользователей. SAF (средство доступа к сервису) обеспечивает механизм унифицированного доступа к сервису. Управляющие компоненты этого средства - это команды инсталяции, создания конфигурации и поддержки мониторов порта и сервиса, а также файлов, в которых хранится сервисная информация и информация монитора порта.
Способ управления и организации монитором порта доступа к порту зависит от конкретного монитора порта, а не отдельного компонента SAF. Следовательно, пользователи могут расширять свои системы, разрабатывая и устанавливая свои собственные мониторы порта. Пользователям, которые хотят написать собственные мониторы порта, следует обратиться к книге "Руководство программиста: Сетевые интерфейсы". В этом разделе описание конкретных мониторов порта ограничено теми программами, которые поставляются вместе с системой UNIX, ttymon и "приемником".
С точки зрения SAF сервис - это процесс, который запускается. Ограничений функций, которые предоставляет сервис, не существует.
SAF состоит из управления процессом - контроллера доступа к сервису (SAC), а также двух управляющих уровней, соответствующих двум уровням в поддерживаемой структуре каталогов. Верхний управляющий уровень соотносится с управлением монитором порта, нижний уровень - с управлением сервисом.
SAF состоит из следующих компонентов:
В этом разделе описываются SAC, управляющие файлы, а также файлы конфигурации системы, мониторов порта и сервиса.
Контроллер доступа к сервису (SAC) управляет механизмом обслуживания. Это процесс управления средством доступа к сервису (SAF). SAC запускается с помощью команды init (1M) посредством входа в /sbin/inittab. Его функция - поддерживать мониторы порта системы в состоянии, которое вы указываете. Эти состояния включают: STARTING, ENABLED, DISABLED, STOPPING, NOTRUNNING и FAILED (Монитор порта вводит состояние FAILED, когда SAC не может запустить его после указанного числа попыток).
Команда администратора sacadm используется для того, чтобы сообщить SAC о необходимости изменить состояние монитора порта, sacadm также можно использовать для добавления или удаления монитора порта из области управления SAC и просмотра информации о мониторах портов, известных SAC.
Управляющий файл SAC содержит уникальный тег для каждого монитора порта, известного SAC, и полное имя команды, используемой для запуска каждого монитора порта.
SAC:
При инициации SAC настраивает свою собственную среду запуска командного файла конфигурации системы. Затем он считывает свой управляющий файл, чтобы определить те мониторы портов, которые следует запустить. Для каждого монитора порта, который он запускает, он интерпретирует файл конфигурации этого монитора порта, если таковой существует. Наконец мониторы портов, указанные в управляющем файле (например, ttymon) запускаются.
После запуска мониторов портов SAC периодически опрашивает их для получения информации о состоянии. Параметр командной строки sac (1M), -t, позволяет администратору системы управлять частотой опроса. Когда монитор порта получает запрос о состоянии из SAC, он должен ответить сообщением, содержащим его текущее состояние (например, ENABLED). Если SAC не получит ответа, он предполагает, что монитор порта не запущен. Если монитор порта, который должен прогоняться, остановился, SAC предполагает, что он допустил сбой и предпринимает требуемое действие восстановления.
SAC повторно запустит монитор порта с отказом, если для этого монитора порта был указан ненулевой счетчик повторного запуска, когда он создавался.
SAC представляет собой административную точку управления для всех мониторов портов, (а, следовательно, для всех портов системы). Команды администратора sacadm (1M) и pmadm (1M) передают запросы в SAC, который в свою очередь устанавливает связь с мониторами портов. Эти запросы включают разрешение запрещенного монитора порта, и тот начинает прием запросов сервиса в свои порты, запуск мониторов портов, которые до этого были остановлены, а также просмотр текущего состояния всех мониторов порта системы.
Файл конфигурации системы - /etc/saf/_sysconfig - поставляется пустым. Его может использовать администратор системы, чтобы настроить среду для всего сервиса системы, написав командный файл на интерпретированном языке. Командный файл конфигурации системы интерпретируется контроллером доступа к сервису после запуска SAC. SAC запускается, когда система переходит в многопользовательский режим.
Командные файлы конфигурации мониторов порта (/etc/saf/pmtag/_config) являются необязательными. Они позволяют администратору системы настраивать среду на любой заданный монитор порта и сервис, который есть в наличии, благодаря точкам доступа, за которые этот монитор порта несет ответственность. Командные файлы конфигурации мониторов портов написаны на том же языке, который используется для файлов конфигурации системы.
Командный файл конфигурации мониторов портов интерпретируется, когда запускается монитор порта. Командный файл конфигурации мониторов портов может замещать значения по умолчанию, поддерживаемые командным файлом конфигурации системы.
Файлы конфигурации сервиса позволяют вам настраивать среду для конкретного сервиса. Например, сервис может потребовать каких-то специальных привилегий, которые не доступны обычному пользователю. Используя язык, описанный на странице руководства doconfig (3N), вы можете написать командный файл, который предоставит или ограничит такие специальные привилегии конкретного сервиса, предложенные через конкретный монитор порта.
Файл конфигурации сервиса может игнорировать безусловные значения, поддерживаемые файлами конфигурации более высокого уровня. Например, файл конфигурации сервиса может указать множество модулей STREAMS, отличное от безусловного множества.
Управляющий файл SAC содержит информацию о всех мониторах порта, за которые несет ответственность SAC. Этот файл существует в поставляемой системе. Изначально он является пустым, за исключением одной строки комментария, которая содержит номер версии контроллера доступа к сервису. Администратор системы добавляет мониторы портов к системе, осуществляя вводы в управляющий файл SAC. Эти вводы осуществляются с помощью команды sacadm с параметром -a. Команда sacadm также используется для удаления вводов из управляющего файла SAC.
Некоторые программные пакеты добавляют свои собстввенные вводы мониторов портов в ходе инсталяции, в других - вам придется добавлять их вручную.
Каждый ввод в управляющий файл SAC содержит следующую информацию:
Рис. 1 показывает содержимое образца управляющего файла SAC так, как он просматривается с помощью команды sacadm. Символ # в конце каждой строки является ограничителем комментария.
Вывод sacadm -1 ------------------------------------------------------------ PMTAG PMTYPE FLGS RCNT STATUS COMMAND starlan listen - 0 ENABLED /usr/lib/saf/listen -x slan starlan \ # starlan liatener ttymon1 ttymon d 0 DISABLED /usr/lib/saf/ttymon # ttymon1 ttymon3 ttymon - 0 ENABLED /usr/lib/saf/ttymon # ports board ------------------------------------------------------------
Каждый монитор порта имеет свой собственный управляющий файл. Команда pmadm используется для добавления, удаления или модификации элементов в этом файле. При внесении каждого изменения соответствующему монитору порта сообщается о необходимости повторного считывания его управляющего файла.
Каждый элемент, вводимый в управляющий файл монитора порта определяет способ обработки монитором конкретного порта и сервис, который следует выполнять для этого порта. Некоторые поля должны присутствовать во всех типах мониторов портов. Каждый ввод должен включать тег сервиса для идентификации сервиса как уникального и значение, которое следует присвоить сервису, когда он будет запускаться.
Примечание. Комбинация тега сервиса и тега монитора порта уникально определяют случай использования сервиса. Тот же самый тег сервиса может использоваться для идентификации какого-то сервиса при другом мониторе порта.
Запись также должна содержать конкретные данные монитора порта, такие как строку подсказки, которая является значимой для ttymon. В целом, каждый тип монитора порта обеспечивает какую-то команду, которая воспринимает конкретные данные нужного монитора как аргументы и выводит эти данные в форме, соответствующей хранению в файле. Команда ttyadm (1M) делает это вместо ttymon, а nlsadmin (1M) - вместо listen.
Примечание. Если ПО при инсталяции добавляет требуемые вводы сервиса в управляющий файл монитора порта, вам не нужно добавлять ввод в ручную pmadm с параметром -a. Например, при инсталяции совместного использования дистанционных файлов (RFS), пакет ПО устанавливает требуемый сервис при каждом мониторе listen-типа.
Каждый ввод в управляющий файл монитора порта содержит следующую информацию:
Примечание. Каждый управляющий файл монитора порта должен содержать один специальный комментарий следующей формы:
#VERSION = valueгде value - это целое число, которое представляет номер версии монитора порта.
Номер версии определяет формат управляющего файла монитора порта. Эта строка комментария создается автоматически, когда монитор порта добавляется к системе. Он появляется на строке сам собой до появления элементов сервиса.
На рис. 2 показаны строки из образца управляющего файла ttymon. Обратите внимание, что вся информация в колонке PMSPECIFIC является конкретной информацией для монитора порта ttymon. К примеру, перечень управляющего файла listen будет содержать другое множество элементов в этой колонке. Конкретная информация монитора порта форматируется с помощью команды администратора монитора, в данном примере - командой ttyadm. Команда ttyadm включена как часть команды pmadm, когда она используется с параметром -a.
Рис. 2 показывает содержимое образца управляющего файла ttymon, просматриваемом с помощью команды pmadm. Символ # является ограничителем комментария.
------------------------------------------------------------ PMTAG PMTYPE SVCTAG FLGS ID PMSPECIFIC ttymon3 ttymon 31 ux root /dev/tarm/31--/usx/bin/login - 9600-login: -#/dev/tarm/31 ttymon3 ttymon 32 ux root /dev/tarm/32--/usx/bin/login - 9600-login: -#/dev/tarm/32 ttymon3 ttymon 33 ux root /dev/tarm/33--/usx/bin/login - 9600-login: -#/dev/tarm/33 ttymon3 ttymon 34 ux root /dev/tarm/34--/usx/bin/login - 9600-login: -#/dev/tarm/34 ------------------------------------------------------------
Рис. 2
Примечание. Чтобы поддержать целостность системы, настоятельно рекомендуется делать изменения в управляющих файлах SAC и мониторов портов с помощью команд sacadm и pmadm, а не редактирования файлов. SAC не распознает изменения в некоторых полях этих файлов, если они не выполнены с помощью требуемой команды администратора. Прямое редактирование файлов может привести к непредвиденным результатам.
При подсоединении устройства RS-232 к вашей системе, подключение должно осуществляться из вашего компьютера к этому устройству или прямо (жесткое соединение), или с помощью модема. После установки связи система должна знать какой тип соединения существует и какой тип устройства находится на другом конце связи.
Обычно при подсоединении RS-232 к вашему устройству предполагаются следующие подсказки:
Назад | Содержание | Вперед