
УТС 8 семестр заочники / Лабораторные работы / 1
.pdf1
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 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 |
|
подсчитать число слов, строк или |
wс |
|
байт в файле |
|
|
отобразить на дисплее содержимое |
more,less |
|
файла |
cat |
|
печатать текущее содержимое |
lp |
|
переименовать или переместить файлы |
mv |
|
удалить файлы |
rm |
|
искать образ строки в файле |
grep |
|
сортировать строки в файле |
sort |
─────────────────────────────────────────────────────────────────────
другие |
отобразить, кто есть в системе |
who |
команды |
|
|
6 |
|
отобразить процессы которые в настоящий |
ps,sin |
момент выполняются |
|
найти файлы |
find |
──────────────────────────────────────────────────────────────────────
УПРАЖНЕНИЕ 7:
-создайте директорий proba;
-переместите в созданный директорий файл list;
-перейти в директорий proba;
-подсчитайте количество байт, слов и строк в файле list, запишите значения в отчет;
-соедините два файла list в один файл list2;
-подсчитайте количество байт, слов и строк в файле list2,