Голосов: 0
#1
LINUX-DEV-KERN. Разработка модулей ядра Linux [2022]
Высшая инженерная школа СПбПУ (Санкт-Петербургский Политехнический Университет)
Егор Орлов
Курс "Разработка модулей ядра Linux" посвящен изучению основных принципов функционирования ядра ОС Linux, способам расширения функциональности ядра с помощью модулей, принципам взаимодействия с подсистемами ядра и компонентами аппаратного обеспечения. Большое внимание уделяется синхронизации доступа к данным, управлению памятью и эффективности использования процессорного времени.
После окончания данного курса слушатели будут обладать знаниями по следующим направлениям:
1. Основные принципы функционирования ядра ОС;
2. Настройка параметров, компиляция и сборка ядра;
3. Структура модуля ядра, управление функционированием модулей;
4. Отладка и получение информации о состоянии модуля;
5. Взаимодействие модуля с другими компонентами ядра;
6. Взаимодействие модуля с аппаратным обеспечением.
К числу полученных практических навыков, полученных после окончания данного курса, следует отнести:
1. Проектирование и реализацию модулей ядра Linux.
Модуль 1. Архитектура ядра Linux.
Модуль 2. Компиляция, сборка и установка ядра.
- Классификация ядер ОС.
- Основные принципы работы ядра Linux.
- Структура ядра Linux.
Модуль 3. Основные сведения о модулях ядра.
- Сбор сведений о системе.
- Конфигурирование ядра.
- Компиляция и сборка ядра.
- Установка ядра и конфигурирование загрузчика.
- Настройка параметров времени выполнения.
Модуль 4. Отладка модулей.
- Структура модуля.
- Параметры модуля.
- Компиляция модуля.
- Установка и управление модулями.
Модуль 5. Символьные устройства.
- Вывод отладочных сообщений.
- Сообщения “kernel oops”.
- Интерфейс с файловой системой procfs.
- Использование отладчиков.
Модуль 6. Реализация моделей ввода-вывода.
- Основные структуры данных.
- Регистрация символьного устройства.
- Реализация интерфейса с файловой системой.
- Реализация вызова ioctl.
Модуль 7. Синхронизация доступа к данным.
- Блокируемый ввод-вывод.
- Неблокируемый ввод-вывод.
- Синхронное мультиплексирование.
- Ввод-вывод, управляемый сигналом.
Модуль 8. Измерение времени.
- Спин – блокировки.
- Мьютексы.
- Seqlock –блокировки.
- Атомарные переменные.
Модуль 9. Функции отложенного выполнения.
- Таймерные тики.
- Циклы процессора.
- Системное время.
Модуль 10. Управление памятью ядра.
- Таймеры.
- Тасклеты.
- Очереди выполнения.
Модуль 11. Взаимодействие с аппаратными устройствами.
- Распределение памяти в ядре.
- Выделение произвольных областей памяти.
- Создание и управление кэшами объектов.
- Операции со страницами памяти.
- Операции с портами ввода-вывода.
- Ввод-вывод, отображённый на память.
- Регистрация обработчиков прерываний.
- Ввод-вывод, управляемый прерываниями.
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.