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

САНКТ-ПЕТЕРБУРГСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ

Кафедра Безопасные информационные технологии

Методические указания по проведению лабораторной работы

“Анализ архитектуры операционной системы Linux”

Санкт-Петербург

1. Цель работы: Получение сведений об архитектуре операционной системы Linux

2. Утилиты используемые в работе:

udev – программа, служащая для динамического управления устройствами. Её основная задача — обслуживание файлов устройств в каталоге /dev и обработка всех действий, выполняемых в пространстве пользователя при добавлении/отключении внешних устройств.

Благодаря udev, в каталоге /dev находятся файлы только тех устройств, которые в настоящий момент подключены к системе. Каждое устройство имеет свой соответствующий файл. Если устройство отключается от системы, то данный файл удаляется. Содержимое каталога /dev хранится на виртуальной файловой системе и все файлы, находящиеся в нём, создаются при каждом запуске системы. Модифицированные или созданные вручную файлы не сохраняются после перезагрузки. Файлы и каталоги, которые необходимо сохранить или которые всегда должны присутствовать в каталоге /dev, независимо от состояния соответствующего устройства, необходимо помещать в каталог /lib/udev/devices. При запуске системы содержимое данного каталога копируется в /dev как есть (с теми же правами доступа).

udev обеспечивает все необходимые средства для динамического создания и удаления файлов устройств и символических ссылок в каталоге /dev. Правила udev позволяют использовать внешние программы для обработки событий ядра об устройствах, что позволяет изменять порядок работы udev, например, написанием собственных скриптов или запроса и импорта дополнительных данных для использования в процессе работы ядра с устройством.

Программа udev состоит из трех частей:

libudev – библиотека, позволяющая получать доступ к информации об устройствах.

udevd – демон, работающий в пространстве пользователя и управляющий содержимым /dev.

udevadm – консольная утилита для управления.

Утилита udevadm имеет следующие группы команд:

udevadm info – запрашивает базу данных udev о хранящейся в ней информации об устройствах. Также может запрашивать свойства устройства из его отображения в sysfs, чтобы помочь в создании правил udev, соотносящихся с этим устройством.

udevadm trigger – запрос событий, связанных с устройством, из ядра. Обычно используется для воспроизведения событий системой «холодного»

подключения.

udevadm settle – просматривает очередь событий udev и завершает работу, если все текущие события обработаны.

udevadm control – изменяет внутреннее состояние демона, запускаемого программой udev.

udevadm monitor – слушает события ядра uevent и события, передаваемые правилами udev, и выводит на консоль пути к устройствам из записи о событии. Это может быть использовано для анализа временных соотношений событий, сравнивая отметки времени событий ядра uevent и событий, переданными udev.

udevadm test – имитирование события udev, запускаемого для выбранного устройства, и вывод на экран отладочной информации.

modprobe утилита, которая добавляет или удаляет модуль из ядра Linux. Для удобства не делается различий между символами _ и - в именах модулей. modprobe ищет в каталоге модулей /lib/modules/‘uname -r‘ имена всех модулей и других файлов, исключая необязательный файл конфигурации /etc/modules.conf и каталог /etc/modprobe.d (смотри modprobe.conf(5)). Все файлы в каталоге /etc/modprobe.d/arch/ игнорируются. Для того чтобы отобразить текущую конфигурацию всех модулей можно воспользоваться командой: modprobe –c.

lsmod - программа, которая просто форматирует содержимое /proc/modules, показывая какие модули ядра в настоящее время загружены.

modinfo - программа для просмотра информации о модуле ядра Linux.

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

Установка для выполнения практической работы представляет собой рабочую станцию, функционирующую под управлением ОС Linux. На каждой рабочей станции установлен пакет VirtualBox, в котором может быть запущена операционная система Linux.

Ход работы

4.1 Запуск установки

4.1.1 Войти в систему. Запустить в среде VirtualBox операционную систему Linux.

4.1.2 Выполнить вход в операционную систему Linux.

4.2 Изучение архитектуры ОС Linux

4.2.1 Ознакомьтесь с руководством программы udev.

4.2.2 Ознакомьтесь с возможностями утилиты udevadm.

4.2.3 Включите udevadm monitor и вставьте какой-либо носитель

4.2.4 Ознакомьтесь со списком событий, включите скриншот списка в отчет.

4.2.5 С помощью данного списка событий или любым иным способом (например, командой fdisk –l) запомните название файла устройства (например, sdb1).

4.2.6 Используя название, получите информацию об устройстве, выполнив команду udevadm info --query=all --name=[название файла устройства]. Включите полученную информацию в отчет.

4.2.7 Перейдите в каталог /lib/udev/rules.d и ознакомьтесь с правилами, используемыми udev.

4.2.8 Перейдите в /etc/udev/rules.d. В этом каталоге содержатся пользовательские правила, а также правила, необходимые для замены «оригинальных» правил. Создайте файл правила с низким приоритетом (с числом в названии больше 90).

4.2.9 Включите в файл правило, срабатывающее при вставке носителя: KERNEL=="[ название файла устройства]", ACTION=="add", RUN+="[команда]". команда – выполняемое действие, например /bin/mkdir /home/administrator/new_dir.

4.2.10 Перезагрузите выполняемые правила, выполнив команду sudo udevadm control –reload-rules. Вставьте носитель, убедитесь в выполнении указанного действия. Включите скриншот содержимого файла с правилом в отчет.

4.2.11 Попробуйте добавить иные правила.

4.2.12 Ознакомьтесь с возможностями утилит modprobe, lsmod и modinfo.

4.2.13 Выведите список загруженных модулей ядра. Включите его в отчет.

4.2.14 Выберите любой модуль из полученного ранее списка и выведите информацию о нем с помощью modinfo. Включите ее в отчет.

4.2.15 Выберите любой модуль из набора модулей, хранящихся в /lib/modules, и загрузите его в память. Проверьте, что модуль действительно загружен: для этого снова выведите список работающих модулей. Включите эту информацию в отчет.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: