Уровень сложности:
Длительность курса: 40 ак.ч.
График обучения: 5 занятий по 8 ак.ч. или 10 занятий по 4 ак.ч.
Аннотация
Только корпоративное обучение
Курс "Разработка модулей ядра LINUX" посвящен изучению основных принципов функционирования ядра ОС Linux, способам расширения функциональности ядра с помощью модулей, принципам взаимодействия с подсистемами ядра и компонентами аппаратного обеспечения. Большое внимание уделяется синхронизации доступа к данным, управлению памятью и эффективности использования процессорного времени.
Знания и умения, полученные в результате обучения
После окончания данного курса слушатели будут обладать знаниями по следующим направлениям:
- Основные принципы функционирования ядра ОС;
- Настройка параметров, компиляция и сборка ядра;
- Структура модуля ядра, управление функционированием модулей;
- Отладка и получение информации о состоянии модуля;
- Взаимодействие модуля с другими компонентами ядра;
- Взаимодействие модуля с аппаратным обеспечением.
К числу полученных практических навыков, полученных после окончания данного курса, следует отнести:
- Проектирование и реализацию модулей ядра Linux.
Курсы связанных направлений
Сегодня занятий по этому курсу нет.
20 800 ₽
Расчёт стоимости с учётом возможных скидок
26 000 ₽
Скидки предоставляются в зависимости от количества слушателей,
суммы договора и других условий, оговариваемых с Заказчиком.
Расчёт стоимости с учётом возможных скидок представлен как справочная информация.
Фактический размер скидки может несколько отличаться из-за округления значения суммы.
Внимательно ознакомьтесь с условиями действующих
акций и скидок...
Базовые знания принципов построения современных операционных систем общего назначения и принципов сетевого взаимодействия. Знание и умение программирования на языке C. Знания и умения реализовать алгоритмы обработки различных структур данных. Владение операционной системой UNIX на уровне опытного пользователя. Знание и умение использовать основные API ОС UNIX.
Вступительное тестирование
Тест № ФКТ-421 Архитектура UNIX
- Пользовательская учетная запись (УЗ). Атрибуты пользовательской УЗ UNIX. Команды изменения
атрибутов УЗ.
- Первичная и дополнительные группы пользователей.
- Дерево каталогов UNIX. Файловые системы и их монтирование в дерево каталогов. Команды управления деревом каталогов UNIX.
- Типы файлов. Структура дерева каталогов UNIX. Команды управления файлами.
- Владельцы файлов. Права доступа к файлу. Дополнительные атрибуты файла. Команды изменения атрибутов файлов.
- Процессы. Типы процессов. Атрибуты процесса.
- Жизненный путь процесса. Сигналы. Команды управления процессами.
- Подсистема управления заданиями. Команды управления заданиями.
- Парадигма ввода-вывода UNIX. Команды управления вводом и выводом данных.
- Пользовательское окружение. Командный интерпретатор.
- Пользовательский профиль. Настройка окружения командного интерпретатора. Переменные окружения.
- Локализация и интернационализация окружения.
- Основные утилиты UNIX.
- Графический интерфейс UNIX. Настройка окружения графической подсистемы UNIX.
Тест № ВПТ-217 Навыки программирования на языке С и навыки использования основных API ОС UNIX.
Навыки программирования на языке С:
- Знание синтаксиса языка С.
- Умение компилировать программы, написанные на языке С.
- Знания и умения реализовать алгоритмы обработки следующих структур данных:
- массивы и ассоциативные массивы (хэши);
- очереди и стеки;
- односвязные и двусвязные линейные списки;
- структуры и массивы структур;
Навыки использования основных API ОС UNIX:
- Основные инструменты разработки;
- Интерфейс файловой системы;
- Интерфейс сигналов;
- Создание и управление процессами.
Модуль 1. Архитектура ядра Linux.
- Классификация ядер ОС.
- Основные принципы работы ядра Linux.
- Структура ядра Linux.
Модуль 2. Компиляция, сборка и установка ядра.
- Сбор сведений о системе.
- Конфигурирование ядра.
- Компиляция и сборка ядра.
- Установка ядра и конфигурирование загрузчика.
- Настройка параметров времени выполнения.
Модуль 3. Основные сведения о модулях ядра.
- Структура модуля.
- Параметры модуля.
- Компиляция модуля.
- Установка и управление модулями.
Модуль 4. Отладка модулей.
- Вывод отладочных сообщений.
- Сообщения “kernel oops”.
- Интерфейс с файловой системой procfs.
- Использование отладчиков.
Модуль 5. Символьные устройства.
- Основные структуры данных.
- Регистрация символьного устройства.
- Реализация интерфейса с файловой системой.
- Реализация вызова ioctl.
Модуль 6. Реализация моделей ввода-вывода.
- Блокируемый ввод-вывод.
- Неблокируемый ввод-вывод.
- Синхронное мультиплексирование.
- Ввод-вывод, управляемый сигналом.
Модуль 7. Синхронизация доступа к данным.
- Спин – блокировки.
- Мьютексы.
- Seqlock –блокировки.
- Атомарные переменные.
Модуль 8. Измерение времени..
- Таймерные тики.
- Циклы процессора.
- Системное время.
Модуль 9. Функции отложенного выполнения.
- Таймеры.
- Тасклеты.
- Очереди выполнения.
Модуль 10. Управление памятью ядра.
- Распределение памяти в ядре.
- Выделение произвольных областей памяти.
- Создание и управление кэшами объектов.
- Операции со страницами памяти.
Модуль 11. Взаимодействие с аппаратными устройствами.
- Операции с портами ввода-вывода.
- Ввод-вывод, отображённый на память.
- Регистрация обработчиков прерываний.
- Ввод-вывод, управляемый прерываниями.