Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы терминал / Terminal_LR3_Gorodetskiy_BST2154_v1-2.docx
Скачиваний:
8
Добавлен:
28.10.2024
Размер:
2.28 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И

МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное

бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики» (мтуси)

Кафедра Системного программирования

ЛАБОРАТОРНАЯ РАБОТА № 3

по учебной дисциплине:

«ОПЕРАЦИОННЫЕ СИСТЕМЫ»

на тему:

«Ядро Linux»

Выполнил:

студент

Городецкий Павел Сергеевич

(Ф.И.О.)

группа

БСТ2154

Проверил:

Алексанян Диана Ашотовна, ст. преподаватель

(Ф.И.О., должность преподавателя)

Оценка

Дата

Москва 2024

Оглавление

Задание 1. Анализ системных вызовов при выполнении команд с помощью утилиты strace 3

Задание 2. Системные вызовы вашей̆ программы 4

Задание 3. Сборка и загрузка модуля в ядро Linux 4

Задание 1. 5

Задание 2. 13

Задание 3. 17

  1. Цель работы

  • изучить архитектуру и основные компоненты ядра Linux, включая механизм системных вызовов

  • изучить возможности утилиты strace для отладки и анализа работы программ на уровне системных вызовов

  • приобрести практический навык создания и загрузки модуля в ядро Linux

  1. Задания на лабораторную работу Задание 1. Анализ системных вызовов при выполнении команд с помощью утилиты strace

1. Убедитесь, что strace установлена, запустив ее с параметром -V: strace -V.

Если утилита отсутствует, установите ее: sudo apt install strace.

2. Ознакомьтесь со справкой об использовании утилиты strace: man strace.

3. Запустите strace для команды из таблицы 1. Обратите внимание, что в некоторых случаях потребуется задать аргументы. На основании полученных результатов заполните таблицу 2 для 5-7 различных системных вызовов.

Таблица 1. Варианты команд

№ вар

Команда

6

date

Вариант выброс в соответствии со списком группы (см. Приложение 1)

Документация по системным вызовам приведена на странице руководства man syscalls(2): man 2 <syscall-NAME> .

Таблица 2. Результаты анализа

Системный вызов

Описание вызова

Входные параметры

Время выполнения, мкс

Возвращаемое значение

4. Перенаправьте вывод strace в файл log в вашей домашней директории.

5. Получите статистику выполненных системных вызовов.

6. Выполните трассировку системных вызовов для произвольного работающего процесса, подключившись к нему по PID.