- •Министерство образования и науки Украины
- •Практическое занятие №1
- •1.1. Сокращенная запись двоичных чисел в восьмеричной и шестнадцатеричной системах счисления
- •1.2. Преобразование восьмеричных и шестнадцатеричных чисел в двоичные
- •1.3. Преобразование двоичных, восьмеричных и шестнадцатеричных чисел в десятичные
- •1.4. Преобразование десятичных чисел в двоичные, восьмеричные и шестнадцатеричные
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №2
- •1.1. Вход в систему
- •1.2. Редактирование командной строки
- •1.3. Память командных строк
- •1.4. Переключение виртуальных консолей
- •1.5. Изменение консольных шрифтов
- •1.6. Основные команды
- •Выполнение некоторых команд
- •2. Команда просмотра содержимого каталогов -ls (LiSt) – выдает на экран перечень файлов и каталогов (по умолчанию из текущего каталога).
- •Жесткая ссылка обозначает ся так же, как файл, на который она ссылается, счетчик ссылок при этом будет иметь значение больше 1.
- •3. Команда создание новых каталогов - mkdir.
- •5. Команда копирование файлов -cp (CoPy).
- •6. Команда перемещение файлов - mv (MoVe).
- •7. Команда удаление файлов - rm (ReMove).
- •8. Команды просмотра содержимого файлов more и cat.
- •Подстановочные символы
- •1.7. Выход из системы
- •2. Упражнения
- •Используя справочную информацию из п.1.6 Основные команды, изучите работу рассмотренных команд с различными параметрами и опциями:
- •1.2. Перенаправление ввода и вывода
- •1.3. Перенаправление с добавлением
- •1.4. Использование конвейера
- •2. Упражнения
- •3. Содержание отчёта
- •Справочная информация
- •Практическое занятие №4 Псевдонимы команд в ос qnx Цель – создание псевдонимов команд для облегчения работы в среде ос qnx
- •1. Краткие теоретические сведения
- •1.1. Управление связями файлов
- •1.2. Жесткие связи
- •1.3. Символические связи
- •1.4. Права доступа к файлам
- •1.5. Зависимости
- •1.6. Изменение прав доступа
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Сравнение файлов (команда diff)
- •1.3. Подсчет числа слов, строк и байт в файле (команда wc)
- •1.4. Потоковый редактор sed
- •2. Упражнения
- •/Usr/bin/grep
- •/Usr/xpg4/bin/grep
- •/Usr/xpg4/bin/grep
- •Операнды
- •/Usr/bin/grep
- •/Usr/xpg4/bin/grep
- •Использование
- •Работа с большими файлами
- •/Usr/bin/who
- •/Usr/xpg4/bin/who
- •Операнды
- •1.1. Ввод текста
- •1.2. Редактирование текста
- •1.3. Сохранение файлов и выход из VI
- •1.4. Редактирование еще одного файла
- •1.5. Включение других файлов
- •1.6. Выполнение команд Shell
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №7 Работа с текстовыми файлами Цель – знакомство с командами, работающими с текстовыми файлами (awk-интерпретатор скриптовый)
- •1. Краткие теоретические сведения
- •1.1. Язык awk
- •1.2. Регулярные выражения
- •Метасимволы, используемые в регулярных выражениях
- •1.3. Действия
- •1.4. Awk-переменные и выражения
- •1.5. Использование операций
- •1.6. Использование массивов
- •1.7. Селекторы
- •1.8. Использование операторов
- •1.9. Ввод и вывод данных
- •1.10. Встроенные функции
- •2. Упражнения
- •Структура файла query1
- •Структура файла query2
- •3. Содержание отчёта
- •1.2. Граматика языка shell
- •2. Упражнения
- •3. Содержание отчёта
- •Выполнить:
- •2. Упражнения
- •Примечание:
- •3. Содержание отчёта
- •1.1. Компоновка объектных модулей
- •1.2. Отладка
- •2. Упражнения
- •Задание №1
- •Задание №2
- •Задание №3
- •Задание №4
- •Задание №5
- •Задание №6
- •Задание №13
- •Задание №14
- •Задание №15
- •Задание №16
- •Задание №17
- •Практическое занятие №11
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Создание каталога
- •1.3. Биты режима для прав доступа
- •1.4. Удаление каталога
- •1.5. Создание жесткой связи
- •1.6. Создание символической связи
- •1.7. Чтение символической связи
- •1.8. Переименование файла
- •1.9. Удаление файла
- •1.10. Обработка ошибок
- •2. Упражнения
- •3. Содержание отчёта
- •1.2. Проверка возможностей управления работой и процессами в shell
- •2. Упражнения
- •3. Содержание отчёта
- •1.3. Ошибки, связанные с именами файлов
- •1.4. Доступ к файлу
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №15 Организация процессов вQnx
- •1. Методические указания по выполнению практической работы
- •1.1. Файл main.O
- •1.2. Файл input.C
- •1.3. Файл output.C
- •1.4. Файл process.C
- •1.5. Используемые функции
- •1.6. Получение информации о процессах
- •2. Упражнения
- •1.2. Клиент
- •1.3. Определение идентификаторов узла, процесса и канала (nd/pid/chid) нужного сервера
- •1.4. Применение обмена сообщениями
- •2. Упражнения
- •3. Содержание отчёта
- •Практическое занятие №17 Организация потоков в qnx
- •1. Краткие теоретические сведения
- •1.1. Запуск потока
- •1.2. Администрирование атрибутов потока
- •Текст программы
- •Результаты
- •1.2. Текст программы
- •1.3. Последовательность действий
- •1.4. Результаты
- •2. Упражнения
- •3. Содержание отчёта
2. Упражнения
УПРАЖНЕНИЕ 2.1.
Написать программу (программы), которая выполняет по запросу оператора действия, реализованные в предыдущих работах (практ.раб. № ): создание, переименование, удаление, перемещение, копирование, создание связей и т.д. файлов и каталогов и выполняет контроль ошибочных ситуаций. В процессе выполнения работы необходимо использовать (предварительно изучив их) все приведенные функции.
УПРАЖНЕНИЕ 2.2.
Отладить и опробовать эту программу в действии.
УПРАЖНЕНИЕ 2.3.
Смоделируйте ошибочную ситуацию и, воспользовавшись функциями strerror() и perror(), выведите сообщение об ошибке и значение глобальной системной переменной errno, указывающее причину возникновения ошибки.
3. Содержание отчёта
Номер, название и цель практической работы.
Текст программы.
Краткое описание действий и результаты выполнения программы (упражнения 2.1 – 2.3).
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №13
Управление работами в ОС QNX
Цель – изучение основных средств управление работами в OC QNX
1. Краткие теоретические сведения
1.1. Работы и процессы
Каждый раз, когда вы выполняете программу, вы начинаете то, что известно, как процесс. Процесс это название для выполняемой программы.
Например, если запускается процесс на основе программного модуля my_prog, находящегося в текущем каталоге, то команда:
$my_prog
запустит процесс и shell будет ждать его завершения, после чего только выдаст на экран приглашение для ввода следующей команды.
Команда ps выдает перечень, имеющих место в данный момент процессов.
Например:
/home/student$ ps
PID TTY STAT TIME COMMAND
24 3 S 0:03 (ph)
161 3 R 0:00 ps
/home/student$
PID (Process IDentificator), перечисленные в первом столбике, это неповторяемые числа, приписанные всем процессам, которые идут.
Последний столбец (COMMAND) указывает имя выполняемой команды. Здесь мы видим только процессы, который инициировал пользователь Student. В системе выполняется и много других процессов. Команда “ps –aux” может выдать перечень всех процессов, которые происходят в данный момент.
В выведенном перечне указанные ph ( оболочка) и сама команда ps. Как вы видите, ph выполняется параллельно с командой ps. После того, как выданная таблица процессов, управление возвращается к оболочке, которая выдает на экран подсказку - готовность к приему новых команд.
Для завершения процесса используйте команду kill - принудительное прекращение процесса.
СИНТАКСИС: kill идентификатор
ОПИСАНИЕ. По умолчанию команда kill посылает сигнал завершения процессам с указанными идентификаторами.
Вы можете уничтожить процесс, используя номер идентификатора процесса (PID):
/home/stud# kill 164
Обычный пользователь может прекращать только процессы, ему принадлежащие. Суперпользователь может прекращать процессы других пользователей.
Нажатие клавиши Сtrl-C прерывает выполняемый процесс (тоже уничтожает его насовсем).
Если работа уничтожена, то нет другого способа восстановить ее, как снова запустить сначала. По умолчанию прерывания находится под Сtrl-C, но мы не можем это гарантировать для всех систем. Некоторые программы могут перехватывать прерывание, тогда нажатия Сtrl-C не приведет к немедленному прекращению работы. Это разрешит программе выполнить необходимые операции корректного завершения. Некоторые программы вообще не разрешат вам их прервать. Клавиши прерывания можно переустанавливать командой stty.
Работы могут быть также отложенные. Отложенная работа это работа, которая в данный момент не выполняется, и временно остановленная. После того, вы прекратили работу, в дальнейшем вы можете ее продолжить. Прекращение работы не уничтожает ее. Чтобы осуществить прекращение работы, надо нажать соответствующие клавиши, это Ctrl-Z. Остановленная работа не выполняется и не использует время процессора, да и никакой работы в этот момент не делает (но занимает память). Возобновление прекращенной работы не изменит ее состояния при возобновлении она начнется из того места, на котором была прекращенная.
Управление роботами (job control) это возможность, которые предоставляют многие оболочки. Управление роботами разрешает руководить множеством команд или работ одновременно.
Выполняемый процесс, известен shell как работа. Термины - процесс и робота взаимозаменяемые. Однако процесс обычно воспринимается, как “работа”, когда речь идет об управлении роботами (job control) - посредством shell, что разрешает уделять внимание нескольким независимым роботам.
Некоторые работы требуют очень большого времени для своего завершения и не осуществляют ничего извне интересного в процессе этой работы. Компиляция программ одна из таких работ, как и компрессия больших файлов. Используя управление роботами, вы можете одновременно выполнять несколько работ, по необходимости, переключая с одной на другую.
Работы могут выполняться как на переднем плане, так и в фоне.