Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_СГTУ new v10.doc
Скачиваний:
119
Добавлен:
12.11.2019
Размер:
4.13 Mб
Скачать

3.9. Конфигурирование qnx

Командный сценарий sysinit . Процесс diskboot перед своим завершением запускает командный сценарий /etc/system/sysinit. Задача этого сценария — запустить процессы, обеспечивающие необходимую функциональность ОС [15]. Давайте посмотрим, что же делает этот командный файл.

  1. Запускает сервис регистрации системных событий (если он еще не запущен) slogger.

  2. Запускает администратор неименованных каналов pipe.

  3. В случае если это первый запуск системы после инсталляции, то запускает сценарий /etc/re.d/rc.setup-once. Факт первого запуска устанавливается по отсутствию файла /etc/sys tern/package/packages.

  4. Устанавливает часовой пояс. Информация берется из файла /etc/TIMEZONE.

  5. Запускает командный сценарий /etc/re.d/rc.rtc (если таковой существует) для настройки часов реального времени.

  6. Определяет имя ЭВМ. Информация берется из файла /etc/HOSTNAME.

  7. Запускает командный сценарий /etc/rc.d/rc.devices (если таковой существует). Этот скрипт инициирует распознавание аппаратных устройств.

  8. Если существует файл /etc/system/config/useqnet И запущен администратор сетевого ввода/вывода io-net, то загружается администратор сетевого протокола Qnet. Факт работы io-net определяется по наличию регистрируемого этим администратором префикса – каталога /dev/ io-net. Администратор протокола Qnet реализован в виде DLL, расширяющей функциональность администратора io-net. Подключение выполняется следующей командой:

  9. mount -Tio-net npm-qnet.so

  10. Если существует файл /.swapfile, то он подключается в качестве устройства свопинга.

  11. Запускает командный сценарий /etc/re.d/rc.sysinit (если таковой существует). Этот скрипт продолжает инициализацию системы.

  12. Если не удается запустить rc.sysinit, то делается попытки запустить командный интерпретатор Korn Shell в интерактивном режиме. Если стандартный интерпретатор не может запуститься, делается попытка запустить интерпретатор с меньшими требованиями к ресурсам -- Fat Embedded Shell (fesh).

Таким образом, сценарий sysinit перед окончанием своего выполнения вызывает сценарий rc.sysinit.

Командный сценарий rc.setup-once. Этот командный сценарий вызывается из скрипта /etc/system/ sysinit только один раз — при первом запуске системы.

Сценарий создает ряд каталогов: /tmp, /var с несколькими подкаталогами, /pkgs С /pkgs/repository, /root (домашний каталог системного администратора). Файл для своппинга /.swapfile, файл начальной конфигурации базовой системы /etc/system/package/packages.

Если существует файл /boot/setup.inf (в этом файле сохраняются любые настройки, выполненные в процессе инсталляции), то запускается сценарий /etc/re.d/rc.setup-info.

Затем перезапускается администратор пакетной файловой системы fs-pkg и генерируется начальная поисковая база данных программы–просмотрщика электронной документации helpviewer.

Кроме перечисленных действий, создается рабочая копия файла /etc/passwd.

Командный сценарий rc.devices. Командный файл /etc/re.d/rc.devices вызывается при каждой загрузке QNX из сценария /etc/system/sysinit.

Этот сценарий запускает администратор псевдотерминалов devc-pty, затем определяет каталоги, содержащие информацию о поддерживаемых устройствах (для локального узла – /etc/ system/enum). После этого запускается администратор конфигурирования аппаратуры enum-devices, сканирующий подключенные устройства.

Командный сценарий rc.sysinit. Командный сценарий /etc/re. d/rc. sysinit вызывается при каждой загрузке QNX из сценария /etc/system/sysinit и предназначен для выполнения настроек, специфичных для данной ЭВМ, и запуска необходимых сервисов [21].

Этот сценарий запускает процесс dumper, сохраняющий "посмертные" core-файлы процессов, завершившихся аварийно. Затем запускает сценарий /etc/re. d/rc. local, если таковой существует. Этот сценарий нужен, если вы хотите добавить свои команды инициализации, не редактируя созданные системой файлы. На моей рабочей станции, например, из сценария rc.local запускается процесс, принимающий запросы к TСР/IР-сервисам inetd.

Последнее действие сценария rc.sysinit — запуск программы инициализации терминала tinit. Эта программа запускает на терминале утилиту входа в систему login или графическую оболочку Photon с графической утилитой входа в систему phlogin. Какой вариант использовать, сценарий определяет по наличию или отсутствию файла /etc/system/config/nophoton.

Если запустить tinit не удалось, сценарий пытается последовательно запустить командные интерпретаторы ksh (sh — это просто ссылка на ksh) и fesh.