
- •Выполнение работы
- •1. Выполнение команд
- •2. Получение подсказки
- •3. Сохранение результатов
- •4. Создание и редактирование текстовых файлов
- •4. Создание и редактирование сценариев
- •5. Задание
- •Выполнение работы
- •Команда grep
- •Команда awk
- •Разработка по
- •Задание
- •Выполнение работы
- •Задание
- •Выполнение работы
- •Условный оператор
- •Задание
- •Выполнение работы
- •1. Задание
Разработка по
Полнофункциональной оболочки для программирования на языках в данной версии ОС не установлено. Для ввода программного кода используются редакторы vi, emac, встроенный редактор mc.
Компилятором для ЯВУ Си является программа gcc. В простейшем случае( в рамках лабораторной работы) для компиляции программы достаточно набрать.
gcc <имя файла>
Выходной исполняемый файл будет называться a.out.
Не забывайте, что для запуска программы из текущей директории надо набирать ./a.out
Задание
Создать файл-сценарий «убивающий» ранее запущенный процесс.
1. Ввести программу в файл:
main() {for(;;);}
2. Скомпилировать программу компилятором gcc.
3. Используя команды grep и awk написать сценарий, «убивающий» процесс a.out.
4. Запустить программу в фоновом режиме или с параллельного терминала.
5. Запустить файл-сценарий, убивающий процесс.
6. Убедиться, что процесс завершен.
Лабораторная работа N3 Цель работы: закрепление материала |
Выполнение работы
В данной работе мы попробуем создать прототип полезного ПО, необходимого в повседневной работе встраиваемых систем. Создаваемое ПО позволит контролировать целостность важной части системы и восстанавливать системы в случаях появления признаков ее нештатной работы.
Другие необходимые подсказки, пояснения и примеры программ к этой работе вы найдете в ЛР 1 и 2.
Задание
a. Создать файл-сценарий реализующий сохранение текущего состояния системы, а именно:
- список запущенных процессов
- список загруженных модулей
- список файлов в каталогах /bin, /sbin, /<ваша фамилия>
- содержимое файла /etc/inittab
b. Создать файл-сценарий реализующий восстановление состояния системы, а именно:
- при обнаружении нового процесса следует послать сигнал о завершении
- при обнаружении нового модуля его следует выгрузить
- при обнаружении новых файлов в каталоге /bin, /sbin, /<ваша фамилия> их следует удалить
- при изменении файла inittab его следует переписать
с. Создать файл-сценарий эмулирующий действия деструктивных программ:
- запустить программу в фоновом режиме
- переписать эту программу в каталоги /bin, /sbin, /<ваша фамилия>
- удалить файл /etc/inittab
Лабораторная работа N4 Цель работы: усвоение основ работы с сетевыми протоколами верхнего уровня. |
Выполнение работы
Компьютерная сеть (вычислительная сеть, сеть передачи данных) — система связи двух или более компьютеров и/или компьютерного оборудования (серверы, маршрутизаторы и другое оборудование).
Данные от компьютера к компьютеру передаются по протоколам – набор правил, форматов, структур данных. Минимальная единица передачи данных – пакет. Существующее множество протоколов делится по уровням. Самый низкий уровень обрабатывается аппаратурой, поддерживающий сеть (Ethernet, RS-232). Самый высокий – обеспечивает интерфейс с пользователем (Telnet, FTP, SSH). Протоколы различных уровней «набиваются» друг в друга как матрешки, обеспечивая надежность доставки пакета и понятный интерфейс.
Каждый компьютер в сети имеет свой адрес на уровне протоколов Ehternet – МАС адрес, IP – IP адрес. На программном уровне, обычно, оперируют IP адресом.
IP адрес состоит из 4 байтов. Для удобства байты переведены в десятичную систему и разделены точками.
127.0.0.1—127.255.255.255 — зарезервированный диапазон IP-адресов для обозначения т. н. «локального хоста», то есть для сети, состоящей из только одного компьютера. Как правило, используется всего один адрес — 127.0.0.1, который устанавливается на специальный сетевой интерфейс «внутренней петли» («loopback») в сетевом протоколе TCP/IP. В Unix-подобных системах данный интерфейс обычно именуется «loX», где X — число, либо просто «lo». При установке соединений в этой вырожденной «сети» присутствует только один компьютер, при этом сетевые протоколы выполняют функции протоколов межпроцессного взаимодействия.
Использование адреса 127.0.0.1 позволяет устанавливать соединение и передавать информацию для программ-серверов, работающим на том же компьютере, что и программа-клиент, независимо от конфигурации аппаратных сетевых средств компьютера (не требуется сетевая карта, модем, и прочее коммуникационнное оборудование, интерфейс реализуется при помощи драйвера псевдоустройства в ядре операционной системы). Таким образом, для работы клиент-серверных приложений на одном компьютере не требуется изобретать дополнительные протоколы и дописывать программные модули.
ifconfig
Команда ifconfig используется для конфигурирования сетевых интерфейсов ядра. Она используется на этапе загрузки для настройки интерфейсов при необходимости. После этого она обычно используется только при отладке или настройке производительности системы. Если аргументы не переданы, ifconfig выдает информацию о состоянии активных интерфейсов. Если указан один аргумент интерфейс, выдается информация только о состоянии этого интерфейса; если указан один аргумент -a, выдается информация о состоянии всех интерфейсов, даже отключенных. Иначе команда конфигурирует указанный интерфейс. Полное описание параметров команды можно посмотреть набрав man ifconfig
FTP
FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами.
Работы с удаленным сервером осуществляется с использование команд, описанных в документации.
Для запуска сервера используется команда:
ftpd
Для соединения с сервером используется команда:
ftp <имя пользователя>:<пароль>@<адрес сервера>