
- •Введение
- •1. Основные понятия в операционных системах
- •1.1. Классификация и функции операционных систем
- •1.2. Ос общего назначения и реального времени
- •1.3. Выполнение команд в вычислительной системе
- •1.4. Прерывания
- •1.5 Архитектуры операционных систем
- •1.6. Управление оперативной памятью вычислительной системы
- •1.7. Общие сведения о процессах и потоках
- •2. Операционная система windows
- •2.1. Версии операционной системы Windows
- •2.2. Архитектура операционной системы windows
- •2.3. Процессы и потоки в Windows
- •2.4. Взаимодействие процессов
- •2.5. Управление потоками в Windows
- •2.6. Файловые системы Windows
- •2.7. Установка и последовательность загрузки Windows
- •Последовательность загрузки Windows xp
- •2.8. Интерпретатор команд и пакетные файлы
- •2.9. Конфигурирование Windows
- •3. Операционная система qnx neutrino
- •3.1. Версии операционной системы qnx Neutrino
- •3.2. Архитектура операционной системы qnx Neutrino
- •3.3. Процессы в qnx6
- •Завершение процесса
- •3.4. Потоки в qnx6
- •Завершение потока
- •3.5. Управление потоками и процессами в qnx6
- •Механизмы ipc
- •Средства синхронизации в qnx
- •3.6. Файловые системы qnx
- •Типы файлов
- •3.7. Инсталляция и последовательность загрузки qnx
- •3.8. Интерпретаторы команд и пакетные файлы в qnx
- •3.9. Конфигурирование qnx
- •4. Виртуальные машины
- •4.1. Общие сведения о виртуальных машинах
- •4.2. Работа с виртуальной машиной VmWare
- •5. Защита от сбоев и несанкционированного доступа
- •5.1. Принципы построения систем безопасности
- •5.2. Безопасность операционной системы windows
- •6. Сетевые возможности операционных систем
- •6.1. Аппратаное обеспечение локальных сетей
- •6.2. Сети Windows
- •6.3. Локальная сеть на основе qnet
- •6.4. Глобальные сети
- •7. Многопроцессорные системы
- •7.1. Архитектуры многопроцессорных операционных систем
- •7.2. Принципы функционирования smp
- •7.3. Принципы функционирования кластеров
- •Список использованной литературы
- •Компилятор
3.8. Интерпретаторы команд и пакетные файлы в qnx
Командных интерпретаторов существует несколько. В QNX стандартным считается интерпретатор Korn Shell (ksh). Хотя, вы можете использовать и другие, такие как C-Shell (csh) или Bourn Vgain Shell (bash). Для систем с ограниченными ресурсами можно использовать Embedded Shell (esh) или Fat Embedded Shell (fesh) [15].
Если регистрация пользователя в системе была выполнена с помощью командно-строковой утилиты login, то программа регистрации запустила входной Shell. Она определяет какой командный интерпретатор запускать на основе информации записаной в базе данных пользователей. По умолчанию в систем есть только один пользователь "root" и его интерпретатор — ksh.
Пользователей, привыкших работать в Windows, обычно не вдохновляет работа в командной строке. Командная строка в UNIX-подобных системах — весьма мощное средство управления системой. Некоторые наиболее используемые команды приведены в табл. 10.
Основные команды QNX Таблица 10
Что нужно сделать? |
Команда |
Что нужно сделать? |
Команда |
В каком каталоге находимся Просмотр содержимого каталога Перейти в другой каталог Создать пустой файл Создать каталог Информация о потоках Информация о процессах Запуск текстового редактора Запуск в режиме демона Запуск связи с целевой системой |
pwd ls cd touch mkdir pidin ps ped ped & qconn |
Копировать файл Копировать каталог Удалить файл Удалить каталог Просмотреть файл Переименовать файл Удалить процесс Удалить процесс Справка по команде Управление выводом |
cр cр –r rm rmdir, rm –r cat mv kill slay use >, >>, <, | |
Большинство стандартных QNX-утилит содержат краткую информацию об аргументах запуска утилиты. Для просмотра этой информации существует команда use. Например, для просмотра информации по использованию утилиты ls выполните такую команду: use ls.
При работе в командной строке важную роль играют так называемые переменные системного окружения. Список этих переменных можно получить командой set.
Изменять значения переменных в Korn Shell очень просто — надо выполнить присваивание:
ПЕРЕМЕННОЙ=значение переменной
Таблица 11
Имя переменной |
Что означает переменная |
НОМЕ Path LD_LIBRARY_PATH IFS LOGNAME PWD PS1 PS2 UID TZ ? |
Домашний каталог пользователя Перечень каталогов для поиска запускаемых программ Перечень каталогов для поиска динамических библиотек Разделитель полей ввода Имя пользователя Имя текущего каталога Вид первичного приглашения Вид вторичного приглашения (для ввода незаконченной команды) Идентификатор пользователя Временной пояс Код завершения последней выполненной команды |
Однако присвоенное таким образом значение будет иметь смысл только в данной работающей оболочке. Для того чтобы переменная распространялась на все запущенные процессы, используют такую команду:
port ИМЯ_ПЕРЕМЕННОЙ
Можно экспортировать переменную непосредственно при создании:
Export ИМЯ_ПЕРЕМЕННОЙ= ЗНАЧЕНИЕ_ПЕРЕМЕННОЙ
Просмотреть значение одной из переменных (чтобы не выводить весь список) можно такой командой:
echo $ИМЯ__ПЕРЕМЕННОЙ
При запуске в качестве входной оболочки (login shell) Korn Shell выполняет команды, содержащиеся в файле /etc/profile, затем команды, содержащиеся в файле $номе/.profile. Разумеется, если эти файлы существуют и доступны по чтению. Для того чтобы при входе в систему автоматически устанавливались необходимые переменные, необходимо откорректировать файл .profile, лежащий домашнем каталоге. Для этого можно, например, воспользоваться редактором vi.
Для создания нового командного файла необходимо выполнить команду touch <имя файла> (например, touch d) и затем открыть созданный пустой файл в текстовом редакторе ped (например, ped d). В текстовом редакторе необходимо набрать следующий текст:
#!/bin/sh
ls
touch cc
ls
rm cc
ls
Затем сохранить файл, закрыть редактор. Если запустить пакетного файла так: # d, то ОС не находет файл и он не выполниться. Если указать полный путь, так: # ./d, то файл ОС найдет, но не сможет исполнить, так как у него не установлен атрибут исполняемого файла. Команда chmod 777 d устанавливает все необходимые атрибуты. Теперь запуск пакетного файла: # ./d обеспечит его успешное выполнение.
Сравнение команд QNX и MS-DOS
QNX |
Назначение команды |
MS-DOS |
mkdir a1 |
Создать каталог с именем a1 |
md a1 |
ls |
Вывод на экран содержимого каталога |
dir |
cd a1 |
Перейти в каталог a1 |
cd a1 |
pwd |
Выводит имя текущего каталога |
- |
touch aa |
Создание нового файла |
copy con aa |
ls |
Вывод на экран содержимого каталога |
dir |
cat aa |
Вывод содержимого файла на экран |
type aa |
ped aa |
Отредактировать файл aa |
edit aa |
cat aa |
Просмотреть на экране содержимое файла aa |
type aa |
ls > bb |
Перенаправить вывод команды ls в файл bb |
dir > bb |
cat bb |
Просмотреть на экране содержимое файла bb |
type bb |
ls |
Вывод на экран содержимого каталога |
dir > bb |
ls >> bb |
Перенаправить вывод команды ls в файл bb |
dir >> bb |
cat bb |
Просмотреть на экране содержимое файла bb |
type bb |
ls > bb |
Перенаправить вывод команды ls в файл bb |
dir > bb |
cat bb |
Просмотреть на экране содержимое файла bb |
type bb |
rm bb |
Удаление файла bb |
del bb |
cd . |
Переход из каталога сам в себя |
cd . |
cd .. |
Переход в родительский католог |
cd .. |
cd / |
Переход в корневой католог |
cd / |
Подробнее примеры работы в командной строке и применения потоков ввода/вывода и конвееров рассмотрено в книге «QNX Momentics. Основы применения» [15 стр. 40-51].
Работа в графической среде Photon microGUI. Если при входе в систему выполнен через phlogin или запущена команда ph после вохода через login, то пользователь оказывается в рабочем пространстве ("workspace") графической оболочки Photon аналогичной Windows. Снизу находится панель задач, в левой ее части находится кнопка Launch. При нажатии кнопки Launch появляется меню, через которое можно вызывать различные прикладные программы. В правой части экрана находится меню быстрого запуска приложений – Shelf.
Следует обратить внимание на следующие программы:
Photon Terminal — pterm. Это штатный псевдотерминал, позволяющий работать с инструментами командной строкой (в том числе и с нашим рекстовым редактором vi);
Helpviewer — программа доступа к штатной электронной документации. Надо сказать, что в составе QNX поставляется достаточно обширная и подробная документация;
Photon File Manager (pfm) – штатный файловый менеджер Для любителей Norton Commander есть продукт третьего производителя mqc (MiShell QNX Commander) анализа Linux-ового Midnight Commander.
Есть весьма полезный файл $HOME/.ph/phapps — это командный файл, в котором можно перечислить приложения, которые Photon должен запускать автоматически при своем запуске.
Переключение между виртуальными консолями выполняется комбинацией клавиш Ctrl+Alt+F[1-6], где F1-F6 номера консолй.