- •Министерство образования и науки Украины
 - •Практическое занятие №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. Содержание отчёта
 
1.1. Сокращенная запись двоичных чисел в восьмеричной и шестнадцатеричной системах счисления
В основном восьмеричная и шестнадцатеричная системы счисления используются для сокращенного представления длинных двоичных чисел. Рассмотрим приведенное ниже двоичное число, состоящее из 12 двоичных цифр, и его эквиваленты в восьмеричной и шестнадцатеричной системах счисления.
| 
				 Двоичное число  | 
				 Восьмеричный эквивалент числа  | 
				 Шестнадцатеричный эквивалент числа  | 
| 
				 100011010001  | 
				 4321  | 
				 8D1  | 
Для преобразования двоичного числа в восьмеричное необходимо разбить двоичное число из 12 цифр на группы из трех последовательных разрядов каждая и записать под этими группами соответствующие им восьмеричные цифры следующим образом:
100 011 010 001
4 3 2 1
Для преобразования двоичного числа в шестнадцатеричное необходимо разбить двоичное число из 12 цифр на группы по четыре последовательных разрядов каждая и записать под этими группами соответствующие им шестнадцатеричные цифры следующим образом:
1000 1101 0001
8 D 1
1.2. Преобразование восьмеричных и шестнадцатеричных чисел в двоичные
Процесс преобразования двоичного числа в восьмеричное или шестнадцатеричное может использоваться в обратной последовательности для преобразования восьмеричного или шестнадцатеричного числа в двоичное.
Например, восьмеричное число 653 преобразовывается в двоичное число следующим образом: цифра 6 заменяется ее двоичным эквивалентом из 3 цифр 110, цифра 5 заменяется ее двоичным эквивалентом из 3 цифр 101 и цифра 3 заменяется ее двоичным эквивалентом 011; в итоге получается двоичное число 110101011 из 9 цифр.
Шестнадцатеричное число FAD5 преобразовывается в двоичное заменой цифры F на ее двоичный эквивалент из 4 цифр 1111, цифры А – на ее двоичный эквивалент 1010, цифры D – на ее двоичный эквивалент 1101 из 4 цифр и 5 – на ее двоичный эквивалент из 4 цифр 0101. В итоге получается двоичное число из 16 цифр 1111101011010101.
1.3. Преобразование двоичных, восьмеричных и шестнадцатеричных чисел в десятичные
Для того чтобы преобразовать к десятичному виду число, записанное в другой системе счисления, умножьте десятичный эквивалент каждой цифры числа на соответствующее позиционное значение и просуммируйте полученные величины. Например, двоичное число 110101 преобразовывается в десятичное число 53 следующим образом:

Для преобразования восьмеричного числа 7614 в десятичное число 3980 используют ту же самую методику, применяя соответствующие значения позиций восьмеричной системы счисления:

Преобразование шестнадцатеричного числа AD3B в десятичное 44347 выполняется тем же самым способом с использованием соответствующих позиционных значений шестнадцатеричной системы счисления:

1.4. Преобразование десятичных чисел в двоичные, восьмеричные и шестнадцатеричные
Преобразование десятичных чисел к двоичному, восьмеричному или шестнадцатеричному представлению выполняется в соответствии с правилами записи числа в позиционной системе счисления.
Предположим, что мы хотим преобразовать десятичное число 57 в двоичное. Начнем с того, что выпишем значения позиций двоичной системы в колонки, справа налево, пока не дойдем до позиционного значения, превосходящего наше десятичное число. Эта позиция нам не нужна и мы отбрасываем этот столбец. Таким образом, сначала запишем:
Позиционные значения: 64 32 16 8 4 2 1
Затем отбрасываем столбец с позиционным значением 64:
Позиционные значения: 32 16 8 4 2 1
После этого начинается процесс обработки столбцов, с крайнего левого столбца и далее, до крайнего правого. Делим 57 на 32, получаем 1 и остаток 25; записываем 1 в столбце 32. Далее, делим остаток 25 на 16, получаем 1 и 9 в остатке; записываем 1 в столбце 16. Затем, делим 9 на 8, получаем 1 и 1 в остатке. Для следующих двух столбцов частное от деления остатка равного 1 на их позиционные значения равны 0, так что в эти столбцы записываем нули. Для крайней правой позиции число 1, деленное на 1, дает 1 и мы записываем 1 в столбец единиц. В результате получаем:
Порционные значения: 32 16 8 4 2 1
Значения цифр 1 1 1 0 0 1
и, таким образом, десятичному числу 57 будет соответствовать двоичное число 111001.
Для преобразования десятичного числа 103 в восьмеричное начнем с того, что последовательно выпишем позиционные значения восьмеричной системы в столбцы, пока не дойдем до значения позиции, превосходящей наше десятичное число. Этот столбец нам не нужен и мы его отбросим. Таким образам, сначала запишем:
Позиционные значения: 512 64 8 1
Затем отбрасываем столбец с позиционным значением 512 и получаем:
Позиционные значения: 64 8 1
После этого начинаем обработку с крайнего левого столбца и далее до крайнего правого. Делим 103 на 64, получаем 1, остаток 39 и записываем 1 в столбце 64.
Далее, делим 39 на 8, получаем 4 и 7 в остатке и записываем 4 в столбце восьмерок. И, наконец, делим 7 на 1, получаем 7 и 0 в остатке и записываем 7 в столбце единиц. В результате получаем:
Позиционные значения: 64 8 1
Значения цифр: 1 4 7
Таким образом, десятичному числу 103 соответствует восьмеричное число 147.
Для преобразования десятичного числа 375 в шестнадцатеричное начнем с того, что выпишем значения позиции шестнадцатеричной системы в столбцы, пока не дойдем до позиционного значения, превосходящего наше десятичное число. Этот столбец нам не нужен и мы его отбросим. Таким образом, сначала запишем:
Позиционные значения: 4096 256 16 1
Затем отбрасываем столбец с позиционным значением 4096 и получаем:
Позиционные значения: 256 16 1
После этого начинаем обработку столбцов с крайнего левого столбца и далее до крайнего правого. Делим 375 на 256, получаем 1, остаток 119 и записываем 1 в столбце 256. Далее, делим 119 на 16, получаем 7 и 7 в остатке и записываем 7 в столбце 16. И, наконец, делим 7 на 1, получаем 7 и 0 в остатке и записываем 7 в столбце единиц. В результате получаем:
Позиционные значения: 256 16 1
Значения цифр: 1 7 7
Таким образом, десятичному числу 375 соответствует шестнадцатеричное число 177.
