- •«Московский технический университет связи и информатики» (мтуси)
- •1. Знакомство с командной строкой Linux 15
- •7. Ядро Linux 51
- •Цель и задачи курсовой работы
- •Введение
- •Краткая теория
- •Знакомство с командной строкой Linux
- •Работа с файлами и каталогами. Управление пользователями
- •Ядро Linux
- •Управление процессами
- •Управление памятью
- •Диски и файловые системы
- •Основная часть
- •Знакомство с командной строкой Linux
- •Команды top, free, ps
- •Домашний каталог
- •Создание директорий
- •Команда tree
- •Создание скриптов
- •Cкрипт на языке bash c выводом меню, состоящего из пунктов выбора выводимой информации.
- •Работа с файлами и каталогами. Управление пользователями
- •Ядро Linux
- •Анализ системных вызовов при выполнении команд с помощью утилиты strace.
- •Системные вызовы вашей̆ программы.
- •Сборка и загрузка модуля в ядро Linux.
- •Управление процессами
- •Мониторинг производительности системы
- •Создание скрипта для получения статистики
- •Создание автозапускаемой службы
- •Создание таймера
- •Управление памятью
- •Получение карты виртуальной памяти процесса
- •Настройка файла подкачки
- •Тестирование памяти
- •Изучение параметра swappiness
- •Диски и файловые системы
- •Разметка диска, создание файловой системы
- •Создание raid-массива
- •Получение информации о файловой системе
- •Работа с логическими разделами дисков (lvm)
- •Vgextend myvg /dev/sdg Добавлен второй диск в vg
- •Заключение
- •Используемая литература
Сборка и загрузка модуля в ядро Linux.
Рисунок 4-3-13. Установлены необходимые пакеты при помощи команды
apt-get install gcc make linux-headers-$(uname -r).
Рисунок 4-3-14. Созданы необходимые файлы.
Рисунок 4-3-15. Содержимое файла mhello.c
Рисунок 4-3-16. Содержимое файла Makefile
Рисунок 4-3-17. Сборка используя make all ; insmod path/to/module.ko
Для решения этой проблемы была изучена струкртура программы ипроведен поиск ошибок. Были установлены всевозможные обновления и испрвления, включая применения
sudo apt-get update
sudo apt-get upgrade
Однако, конечная проверка показала, что данный модуль не может быть собран на Ubuntu24 в виду отсутствия системного модуля
Рисунок 4-3-18. Получена новая ошибка, которая ссылнается на более явную неисправность.
Была использована команда dpkg --listfiles linux-headers-6.8.0-45-generic для просмотра всех файлов, которые входят в пакет. Произведена проверка, содержит ли список файлов пакетов linux-headers- нужный файл syscall_32.tbl.
Рисунок 4-3-19. Нужный файл syscall_32.tbl отсутствует.
Сборка модуля ядра указанным методом невозможна.
Рассмотрение архитектуры и основных компонентов ядра Linux, включая механизм системных вызовов, изучение и применение различных средств мониторинга, таких как утилита strace для отладки и анализа работы программ на уровне системных вызовов, приобретение практического навыка создания и загрузки модулей в ядро Linux – впечатляющие навыки успешных IT-специалистов, которые востребованы как отечественной, так и зарубежной отрасли.
Управление процессами
Мониторинг процессов и системное администрирование в Linux предоставляют множество возможностей для отслеживания и управления ресурсами системы. Основные инструменты и утилиты, такие как ps, top, atop, mpstat, pidstat, vmstat, iostat, позволяют получать различную информацию о состоянии системы и процессов.
Утилита ps предоставляет информацию о запущенных процессах, включая идентификаторы процессов (PID), пользователей, владельца процесса, статус процесса и многое другое.
top показывает динамическую статистику системы в реальном времени, позволяя следить за использованием ресурсов ЦПУ, памятью, загруженностью системы и другими параметрами.
Инструмент atop работает аналогично top, но также предоставляет расширенную информацию о загрузке процессора, памяти, дисков и сети. Он поддерживает возможность ведения логов и последующий анализ с помощью инструмента atopsar.
Утилита mpstat предоставляет отчеты о использовании процессоров, показывая нагрузку на каждый отдельный процессор или все процессоры вместе.
pidstat используется для мониторинга определенного процесса в реальном времени, предоставляя детальную информацию о его активности.
vmstat собирает информацию о виртуальной памяти, дисковой подсистеме и центральном процессоре.
iostat отслеживает использование устройств ввода-вывода.
Пакет sysstat включает вышеупомянутые утилиты и облегчает их использование.
Система systemd позволяет планировать выполнение служб и автоматизировать их запуск, используя файлы конфигурации unit для определения поведения сервисов. Эти файлы описывают основные параметры сервиса, такие как его описание, зависимости от других служб, команды для выполнения и условия для запуска и остановки.
Для добавления или изменения конфигурации службы необходимо обновить систему командой sudo systemctl daemon-reload, затем добавить юнит в список служб командой sudo systemctl enable, и наконец запустить службу командой sudo systemctl start. Проверить состояние службы можно командой sudo systemctl status.
