su13@pochta.ru

| Первый | Второй | Третий | Четвёртый | Пятый | Шестой | Седьмой |


4. Управление портами

4.1. Управление средством доступа к сервису (SAF)

4.1.1. Контроллер доступа к сервису
4.1.2. Файл конфигурации системы.
4.1.3. Командные файлы конфигурации мониторов порта
4.1.4. Командные файлы конфигурации сервиса
4.1.5. Управляющий файл SAC
4.1.6. Управляющий файл монитора порта
4.1.7. Установка связи с RS-232

После добавления сетевого сервиса к UNIX System V появились нестандартные методы доступа к сервису системы, давшие непоследовательные интерфейсы и среду выполнения, затрудняющие работу пользователей. SAF (средство доступа к сервису) обеспечивает механизм унифицированного доступа к сервису. Управляющие компоненты этого средства - это команды инсталяции, создания конфигурации и поддержки мониторов порта и сервиса, а также файлов, в которых хранится сервисная информация и информация монитора порта.

Способ управления и организации монитором порта доступа к порту зависит от конкретного монитора порта, а не отдельного компонента SAF. Следовательно, пользователи могут расширять свои системы, разрабатывая и устанавливая свои собственные мониторы порта. Пользователям, которые хотят написать собственные мониторы порта, следует обратиться к книге "Руководство программиста: Сетевые интерфейсы". В этом разделе описание конкретных мониторов порта ограничено теми программами, которые поставляются вместе с системой UNIX, ttymon и "приемником".

С точки зрения SAF сервис - это процесс, который запускается. Ограничений функций, которые предоставляет сервис, не существует.

SAF состоит из управления процессом - контроллера доступа к сервису (SAC), а также двух управляющих уровней, соответствующих двум уровням в поддерживаемой структуре каталогов. Верхний управляющий уровень соотносится с управлением монитором порта, нижний уровень - с управлением сервисом.

SAF состоит из следующих компонентов:

В этом разделе описываются SAC, управляющие файлы, а также файлы конфигурации системы, мониторов порта и сервиса.

4.1.1. Контроллер доступа к сервису

Контроллер доступа к сервису (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, который в свою очередь устанавливает связь с мониторами портов. Эти запросы включают разрешение запрещенного монитора порта, и тот начинает прием запросов сервиса в свои порты, запуск мониторов портов, которые до этого были остановлены, а также просмотр текущего состояния всех мониторов порта системы.

4.1.2. Файл конфигурации системы

Файл конфигурации системы - /etc/saf/_sysconfig - поставляется пустым. Его может использовать администратор системы, чтобы настроить среду для всего сервиса системы, написав командный файл на интерпретированном языке. Командный файл конфигурации системы интерпретируется контроллером доступа к сервису после запуска SAC. SAC запускается, когда система переходит в многопользовательский режим.

4.1.3. Командные файлы конфигурации мониторов порта

Командные файлы конфигурации мониторов порта (/etc/saf/pmtag/_config) являются необязательными. Они позволяют администратору системы настраивать среду на любой заданный монитор порта и сервис, который есть в наличии, благодаря точкам доступа, за которые этот монитор порта несет ответственность. Командные файлы конфигурации мониторов портов написаны на том же языке, который используется для файлов конфигурации системы.

Командный файл конфигурации мониторов портов интерпретируется, когда запускается монитор порта. Командный файл конфигурации мониторов портов может замещать значения по умолчанию, поддерживаемые командным файлом конфигурации системы.

4.1.4. Командные файлы конфигурации сервиса

Файлы конфигурации сервиса позволяют вам настраивать среду для конкретного сервиса. Например, сервис может потребовать каких-то специальных привилегий, которые не доступны обычному пользователю. Используя язык, описанный на странице руководства doconfig (3N), вы можете написать командный файл, который предоставит или ограничит такие специальные привилегии конкретного сервиса, предложенные через конкретный монитор порта.

Файл конфигурации сервиса может игнорировать безусловные значения, поддерживаемые файлами конфигурации более высокого уровня. Например, файл конфигурации сервиса может указать множество модулей STREAMS, отличное от безусловного множества.

4.1.5. Управляющий файл SAC

Управляющий файл SAC содержит информацию о всех мониторах порта, за которые несет ответственность SAC. Этот файл существует в поставляемой системе. Изначально он является пустым, за исключением одной строки комментария, которая содержит номер версии контроллера доступа к сервису. Администратор системы добавляет мониторы портов к системе, осуществляя вводы в управляющий файл SAC. Эти вводы осуществляются с помощью команды sacadm с параметром -a. Команда sacadm также используется для удаления вводов из управляющего файла SAC.

Некоторые программные пакеты добавляют свои собстввенные вводы мониторов портов в ходе инсталяции, в других - вам придется добавлять их вручную.

Каждый ввод в управляющий файл SAC содержит следующую информацию:

PMTAG -
уникальный тег, который идентифицирует конкретный монитор порта. Этот тег затем используется контроллером доступа к сервису (SAC) для идентификации монитора порта при всех целях администрирования. PMTAG может включать до 14 буквенных символов;
PMTYPE -
тип монитора порта. В добавок к своему уникальному тегу, каждый монитор порта имеет указатель типа. Указатель типа идентифицирует группу мониторов портов, которые являются различными вызовами одного и того же объекта. ttymon и listen являются примерами действительных типов мониторов портов. Указатель типа используется, чтобы облегчить администрирование групп соответственных мониторов портов. Без указателя типа у вас нет возможности узнать какие теги мониторов портов соответствуют мониторам портов того же типа. PMTYPE может включать до 14 буквенных символов;
FLGS -
флаги, которые определяются в текущий момент, это: d - если запускается, не разрешайте монитор порта; x - не запускайте монитор порта. Если флаг не указывается, предпринимается безусловное действие. Монитор порта запускается и разрешается по умолчанию;
RCNT -
число раз, которое монитор порта может допустить сбой, прежде чем будет помещен в состояние отказа. После того как монитор порта ввел состояние отказа, SAC не будет пытаться повторно его запустить. Если счет не указан при создании ввода, это поле устанавливается на 0. Счет повторного запуска 0 указывает, что монитор порта не следует повторно запускать, если он дает отказ;
COMMAND -
символьная строка, представляющая команду, которая будет запускать монитор порта. Первый компонент символьной строки, сама команда, должен представлять собой полное имя пути.

Рис. 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
	------------------------------------------------------------

Рис. 1

4.1.6. Управляющий файл монитора порта

Каждый монитор порта имеет свой собственный управляющий файл. Команда pmadm используется для добавления, удаления или модификации элементов в этом файле. При внесении каждого изменения соответствующему монитору порта сообщается о необходимости повторного считывания его управляющего файла.

Каждый элемент, вводимый в управляющий файл монитора порта определяет способ обработки монитором конкретного порта и сервис, который следует выполнять для этого порта. Некоторые поля должны присутствовать во всех типах мониторов портов. Каждый ввод должен включать тег сервиса для идентификации сервиса как уникального и значение, которое следует присвоить сервису, когда он будет запускаться.

Примечание. Комбинация тега сервиса и тега монитора порта уникально определяют случай использования сервиса. Тот же самый тег сервиса может использоваться для идентификации какого-то сервиса при другом мониторе порта.

Запись также должна содержать конкретные данные монитора порта, такие как строку подсказки, которая является значимой для ttymon. В целом, каждый тип монитора порта обеспечивает какую-то команду, которая воспринимает конкретные данные нужного монитора как аргументы и выводит эти данные в форме, соответствующей хранению в файле. Команда ttyadm (1M) делает это вместо ttymon, а nlsadmin (1M) - вместо listen.

Примечание. Если ПО при инсталяции добавляет требуемые вводы сервиса в управляющий файл монитора порта, вам не нужно добавлять ввод в ручную pmadm с параметром -a. Например, при инсталяции совместного использования дистанционных файлов (RFS), пакет ПО устанавливает требуемый сервис при каждом мониторе listen-типа.

Каждый ввод в управляющий файл монитора порта содержит следующую информацию:

SVCTAG -
уникальный тег, который идентифицирует сервис. Этот тег является уникальным только для монитора порта, через который этот сервис становится доступным. Другие мониторы порта могут предложить тот же или другой сервис с тем же самым тегом. Сервис требует наличия и тега монитора порта, и тега сервиса для идентификации его как уникального. SVCTAG может включать до 14 буквенных символов;
FLGS -
флаги с нижеследующими значениями могут быть включены как текущие в это поле:
x - Не разрешайте этот порт. Порт разрешается по умолчанию
u - Создавайте ввод utmp для этого сервиса. Обратите внимание, что мониторы портов могут игнорировать флаг u, если создание ввода utmp для сервиса не соответствует способу, в котором следует вызывать этот сервис. Некоторые программы сервиса не могут запускаться нужным образом, если для них не созданы вводы utmp (например, login);
ID -
значение под которым следует запускать сервис. Значение имеет ту форму имени протокола, в которой оно появляется в /etc/passwd;
PMSPECIFIC -
примерами конкретной информации мониторов порта являются адреса, имя процесса, который должен выполняться или имя программного канала STREAMS, через который устанавливается связь между процессами;
COMMENT -
комментарий, относящийся к элементу сервиса.

Примечание. Каждый управляющий файл монитора порта должен содержать один специальный комментарий следующей формы:

	#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 не распознает изменения в некоторых полях этих файлов, если они не выполнены с помощью требуемой команды администратора. Прямое редактирование файлов может привести к непредвиденным результатам.

4.1.7. Установка связи с RS-232

При подсоединении устройства RS-232 к вашей системе, подключение должно осуществляться из вашего компьютера к этому устройству или прямо (жесткое соединение), или с помощью модема. После установки связи система должна знать какой тип соединения существует и какой тип устройства находится на другом конце связи.

Обычно при подсоединении RS-232 к вашему устройству предполагаются следующие подсказки:

Назад | Содержание | Вперед

GNU OCXE GNU LINUX
Сайт управляется системой uCoz