Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системы реального времени.-6.pdf
Скачиваний:
26
Добавлен:
05.02.2023
Размер:
2.18 Mб
Скачать

Утилиты конфигурирования

Компоненты Photon можно конфигурировать с помощью нескольких утилит.

Для того чтобы изменить настройки оконного менеджера используется утилита. Вкладка Background утилиты pwmopts позволяет настраивать параметры администратора фона bkgdmgr.

Для настройки подсистемы шрифтов предназначена утилита fontadmin. Эта утилита позволяет задавать необходимые псевдонимы для инсталлированных шрифтов. Настройка администратора графического вывода io-grafics выполняется с помощью программы phgrafx. В окне этой утилиты можно задать используемый видеодрайвер, значения разрешения, глубины цветности и частоты обновления экрана.

Настройка мыши может выполняться с помощью утилиты input-cfg.

Разрешить либо запретить удаленное подключение к локальной сессии Photon можно с помощью утилиты phrelaycfg.

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

7.3. Печать в ОС QNX

Традиционная система печати (lpd)

Эта система широко известна в UNIX-подобных ОС. И, как следствие, достаточно хорошо документирована. Поэтому мы сделаем лишь краткий ее обзор.

Система печати lpd условно делится на три части:

1)сервер печати (спулер) lpd;

2)файл конфигурации принтеров /etc/printcap;

3)клиентские утилиты lpr, lprq, lprrm, lprc.

Самой многофункциональной из всех утилит системы lpd

является lprc. Она позволяет выполнять все то, что делают другие утилиты, плюс выполняет активизацию/деактивизацию принтеров, управляет очередью и делает другую полезную работу.

137

Утилита lpr выполняет постановку задания в очередь для печати. Утилитой lprq можно просматривать очередь заданий. Удалить задание из очереди можно утилитой lprrm.

Данная система достаточно старая и многие поставщики ОС предлагают более удобные решения.

Собственная система печати QNX

Основой системы печати QNX является серверный процессадминистратор spooler. Назначение spooler — это обеспечение бесконфликтного доступа нескольких пользователей к контролируемому им устройству. Этот процесс автоматически запускается администратором нумерации устройств enum-devi-ces. По умолчанию spooler контролирует доступ к параллельному порту /dev/par1. Если к параллельному порту подключить принтер, то spooler автоматически распознает его и путем зондирующих запросов получает параметры принтера.

В каталоге /etc/printers содержится несколько файлов конфигурации spooler для разных типов принтеров. При запуске spooler выполняет несколько операций:

определяет тип принтера и выбирает соответствующий этому типу файл конфигурации;

сравнивает свойства, указанные в файле конфигурации, с параметрами принтера, полученными при его сканировании;

регистрирует в пространстве имен префикс-каталогов /dev/printers/имя_принтера/. В этом каталоге создают-

ся каталог spool/, файлы устройств phs, raw и файл, соответствующий типу принтера;

создаеткаталог /var/spool/printers/имя_принтера.

имя_хоста/, в который отображается содержимое /dev/printers/имя_принтера /spool;

в каталог spool записывает файл с результирующими настройками принтера.

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

138

В составе дистрибутива ОС QNX поставляется несколько фильтров для наиболее популярных наборов принтеров. Кроме того, в состав ОС QNX входит Printer DDK (Driver Development Kit), представляющий собой подробно комментированный пример исходного кода фильтра с инструкцией для разработчиков.

Для управления заданиями можно воспользоваться фотоновской утилитой prjobs.

7.4. Средства анализа

QNX — операционная система жесткого реального времени. Это значит, что она в состоянии обеспечить выполнение приложений в условиях критического лимита времени. Однако человеку свойственно ошибаться, и приложения не всегда ведут себя так, как ожидается. Поэтому у разработчика и у администратора обязательно должны быть эффективные инструменты анализа и диагностики.

Инструментальный комплект для анализа системы

В состав QNX Momentics РЕ входит пакет System Analysis Toolkit (SAT). SAT позволяет отслеживать:

вызовы микроядра;

передачу сообщений;

обработку прерываний;

изменения состояний потоков.

Основу этого пакета составляет модуль procnto-instr

— администратор процессов, с которым скомпоновано микроядро, оборудованное средствами диагностики.

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

139

(в составе SAT есть специальная библиотека libtraceparser.a

SAT API). Использовать SAT можно следующим образом:

1)в файле построения загрузочного образа заменить имя

модуля procnto на procnto-instr;

2)собрать заново загрузочный образ с помощью утилиты mkifs;

3)полученный образ сохранить в файле /.boot системы;

4)включить в состав целевой системы утилиты trace-iog-

ger и traceprinter.

5) перезагрузить целевую систему и выполнить трассировку событий микроядра.

Средства ведения журналов событий

В ОС QNX реализованы две системы ведения журналов со-

бытий: syslog и slogger.

Система syslog традиционно используется в различных UNIX-подобных ОС. В QNX она включена в основном для обеспечения переноса программных продуктов из других операционных систем. Основу syslog составляет серверный процесс syslogd, считывающий при старте конфигурационный файл /etc/syslog.conf. Информация для записи в журнал (например, в файл /var/log/syslog — имя задается в файле конфигурации) поступает от клиентов, вызывающих для этой цели соответствующие функции. Из командных сценариев информация может посылаться с помощью утилиты logger. Кроме журнального файла, syslogd может писать информацию непосредственно на экран или передавать для обработки процессу syslogd, запущенному на другой хост-машине сети. Сервисный процесс syslogd записывает в журнал:

дату и время возникновения события;

идентификатор узла сети, на котором событие произошло;

имя/идентификатор процесса/пользователя, запросившего регистрацию события;

текстовое сообщение (определяется разработчиком про- граммы-клиента).

Штатная QNX-система ведения журналов событий slogger проще и эффективнее системы syslog.

140