Скачиваний:
0
Добавлен:
07.08.2024
Размер:
89.8 Кб
Скачать

1

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 1

ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ В ОПЕРАЦИОННОЙ СИСТЕМЕ QNX

Курс: Программирование систем реального времени Цель работы: изучить пользовательский интерфейс операционной системы (ОС) реального времени QNX.

1.ЗАПУСК ОС

Запустить виртуальную машину для QNX 6.5.0

Войти в операционную систему как суперпользователь

2.НАЧАЛО РАБОТЫ

В правой колонке меню выбрать пункт terminal

3.РЕДАКТИРОВАНИЕ КОМАНДНОЙ СТРОКИ

Диалог с пользователем поддерживается набором командных строк которые и определяют интерфейс пользователя. При вводе командные строки можно редактировать.

Команды редактирования Таблица 1

──────────────────────────────────────────────────────────────────────

функциональное

Если Вы хотите

Нажмите

клавишу

 

 

назначение

 

 

──────────────────────────────────────────────────────────────────────

Движение

- переместить курсор на одну

позицию

"<--"

курсора

влево

 

 

 

- переместить курсор на одну

позицию

"-->"

 

вправо

 

 

- переместить курсор к концу

строки

<End>

 

- переместить курсор к началу строки

<Home>

──────────────────────────────────────────────────────────────────────

Удаление

- удалить символ слева от текущей пози-

<--

символов

ции курсора

Backspase

 

 

 

- удалить символ в текущей позиции кур-

<Del>

 

сора

 

- удалить все символы текущей строки

<Ctrl><U>

──────────────────────────────────────────────────────────────────────

Переключение - переключиться от режима вставки символов

<Ins>

режимов

к режиму замены и обратно

──────────────────────────────────────────────────────────────────────

Ввод - передать строку интерпретатору команд <Enter>

──────────────────────────────────────────────────────────────────────

2

УПРАЖНЕНИЕ 1. Наберите символьную строку "abcd1234". Проверьте последовательно выполнение всех команд редактирования приведенных в табл.1.

4.ПАМЯТЬ КОМАНДНЫХ СТРОК Все вводимые командные строки сохраняются во внутреннем буфере

после нажатия на клавишу <Enter>.

Таблица 2

──────────────────────────────────────────────────────────────────────

Если Вы хотите Нажмите клавишу

──────────────────────────────────────────────────────────────────────

-

продвинуться в буфере на строку

"|"

 

вперед

-

продвинуться в буфере на строку

"|"

 

назад

──────────────────────────────────────────────────────────────────────

УПРАЖНЕНИЕ 2. 0Введите три строки:

12 <Enter>

34 <Enter>

56 <Enter>

проверьте действие клавиш указанных в таблице 2.

5.ПЕРЕКЛЮЧЕНИЕ ВИРТУАЛЬНЫХ КОНСОЛЕЙ Экран и клавиатура вместе определяются как консоль. При работе

с несколькими прикладными программами QNX позволяет выделить для каждого приложения свою консоль.

Таблица 3

──────────────────────────────────────────────────────────────────────

Если Вы хотите Нажмите клавишу

──────────────────────────────────────────────────────────────────────

- активизировать неиспользуемую консоль с номером n

<Ctrl><Alt><n>

- перейти к

предыдущей консоли

<Ctrl><Alt><->

- перейти к

следующей консоли

<Ctrl><Alt><+>

──────────────────────────────────────────────────────────────────────

Примечание. Символы <+>, <-> набирать клавишами серого цвета. Проверить наличие активизированных консолей можно с помощью утилиты who.

6.ИЗМЕНЕНИЕ КОНСОЛЬНЫХ ШРИФТОВ Драйвер консоли может поддерживать различные текстовые режимы.

После загрузки QNX устанавливает текстовый режим 25*80.

Таблица 4

──────────────────────────────────────────────────────────────────────

Если Вы хотите Нажмите клавишу

──────────────────────────────────────────────────────────────────────

-

выбрать

следующий текстовый режим

<Ctrl><Alt><>>

-

выбрать

предыдущий текстовый режим

<Ctrl><Alt><<>

──────────────────────────────────────────────────────────────────────

УПРАЖНЕНИЕ 3:

- вызвать утилиту who, записать в отчет состояние консолей;

3

-активизировать консоль 2;

-активизировать консоль 3;

-на консоли 3 вызвать утилиту who, записать в отчет состояние консолей;

-изменить текстовый режим на третьей консоли;

-вернуться к консоли 1.

7.ОСНОВНЫЕ КОМАНДЫ

Набор команд интерпретатора команд (Shell) определяет пользовательский интерфейс системы QNX. Все команды имеют одинаковый синтаксис:

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

-имя команды - это может быть имя утилиты хранящейся на диске или имя резидентной команды встроенной в интерпретатор Shell.

-опции - позволяют специфицировать альтернативные варианты

исполнения команды. Опция представляет собой буквенный символ которому предшествует черточка ( например -с ), некоторые опции могут иметь числовой аргумент (например -с25 или -с -25). Несколько опций можно

группировать в строки, например

-c -e -i -s эквивалентно -ceis

Каждая QNX утилита имеет встроенное короткое описание опций. Для того чтобы вывести это описание на экран необходимо использовать утилиту use.

УПРАЖНЕНИЕ 4:

-вывести на экран описание для утилиты use, записать в отчет;

-вывести на экран описание команды ls, записать в отчет назначе-

ние команд и опций -c , -D, -F -l, -v, -S.

-выполнить команду ls с каждой из перечисленных опций. Если ваш директорий пуст выполните команду cd .. (изменение директория) и повторите операции.

УПРАЖНЕНИЕ 5:

-вывести на экран описание команы who;

-записать в отчет описание опций -a, -i, -m.

-выполнить команду who с опциями -i, -m.

8.ПЕРЕАДРЕСАЦИЯ ВВОДА - ВЫВОДА.

Большинство команд считывает командные строки через стандартное

устройство ввода (stdin) которое обычно назначается

на клавиатуру, а

выводит данные через устойство вывода (stdout), как

правило - дисплей.

Однако в ряде случаев требуется прочитать командные

строки из некото-

рого файла или устройства отличного от клавиатуры

или переадресовать

выход к файлу или другой команде.

Таблица 5

 

──────────────────────────────────────────────────────────────────────

Если Вы хотите Используйте символ

──────────────────────────────────────────────────────────────────────

- прочитать командную строку из файла или другого

<

устройства

 

 

4

 

- переадресовать вывод

к файлу

>

-

переадресовать вывод

к существующему файлу с

>>

 

добавлением к его содержимому

-

переадресовать вывод

к другой команде

|

──────────────────────────────────────────────────────────────────────

УПРАЖНЕНИЕ 6:

-переадресовать вывод команды ls в файл list. Если ОС препятствует созданию файла, вернитесь в свой директорий используя команду cd

иповторите операцию;

-вывести на экран описание команды more, записать в отчет назначение команды и назначение опций -c -e.

-с помощью команды more вывести на экран содержимое файла list;

-добавить к содержимому файла list описание команды more;

-прочитать новое содержание файла list.

9.ФАЙЛОВАЯ СТРУКТУРА В QNX

На рис.1 показана типичная структура дерева директориев.

Рис.1

/

┌──────────┬──────────┼─────────┬──────────────┬─────────────────┐

 

 

 

bin

boot

 

etc

tmp

usr

 

 

home

 

 

 

 

 

┌──────────┼──────┐

┌──────┬───────┴────┬──────┐

build

images

sys config

bin

include

lib

spool userid

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

terminfo

 

 

 

 

 

 

 

 

 

 

 

 

 

 

┌─────┼──────┐

 

 

 

 

 

 

 

a ... q ... z

qnx

Таблица 6

─────────────────────────────────────────────────────────────────────

Имя директория Типичное назначение

─────────────────────────────────────────────────────────────────────

/bin

исполняемые файлы

/boot

Makefile для

образа системы

/boot/build

файлы для make утилиты

/boot/images

файлы образа

операционной системы

/boot/sys

системные процессы необходимые при загрузке

/etc

установочные

и другие файлы

 

5

/etc/config

утилиты и файлы конфигурации

/etc/readme

информационные файлы

/usr/bin

исполняемые файлы

/usr/include

файлы для С - компилятора

/usr/lib/terminfo

файлы описания терминалов

/usr/spool

рабочие файлы для спулеров

/home/userid

директории пользователей

──────────────────────────────────────────────────────────────────────

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

Таблица 1

─────────────────────────────────────────────────────────────────────

функциональное Если Вы хотите Используйте утилиту назначение

──────────────────────────────────────────────────────────────────────

работа с

изменить ваш текущий рабочий

cd

директориями

директорий

 

создать директорий

mkdir

 

удалить директорий

rmdir

 

отобразить содержимое директория

ls

 

отобразить содержимое вашего текущего

pwd

 

директория

──────────────────────────────────────────────────────────────────────

работа с

сравнить два файла

diff

файлами

соединить два файла

cat

 

 

копировать файлы

cp

 

подсчитать число слов, строк или

 

байт в файле

 

отобразить на дисплее содержимое

more,less

 

файла

cat

 

печатать текущее содержимое

lp

 

переименовать или переместить файлы

mv

 

удалить файлы

rm

 

искать образ строки в файле

grep

 

сортировать строки в файле

sort

─────────────────────────────────────────────────────────────────────

другие

отобразить, кто есть в системе

who

команды

 

 

6

 

отобразить процессы которые в настоящий

ps,sin

момент выполняются

найти файлы

find

──────────────────────────────────────────────────────────────────────

УПРАЖНЕНИЕ 7:

-создайте директорий proba;

-переместите в созданный директорий файл list;

-перейти в директорий proba;

-подсчитайте количество байт, слов и строк в файле list, запишите значения в отчет;

-соедините два файла list в один файл list2;

-подсчитайте количество байт, слов и строк в файле list2,

Соседние файлы в папке Лабораторные работы