Голосов: 0
#1
Описание
Разработка драйверов под Linux и Android - Академия Информационных Систем
Ядро Linux используется в большинстве современных смартфонов за счет применения впопулярной платформе Android. Кроме того, не следует забывать и про лидирующее
положение Linux в сегменте суперкомпьютеров (500 из топ 500 суперкомпьютеров под
данным ), второе место в сегменте интернет-серверов и высокую ), второе место в сегменте интернет-серверов и высокую
популярность в корпоративном сегменте. GNU Compilers Collection является лидером в
списке аналогичного программного обеспечения по популярности среди средств
разработки решений с открытым исходным кодом.
ПРОДОЛЖИТЕЛЬНОСТЬ: 3 дня 24 ак.часа
---------------------------------------------------------------------------------------------------------------------------------------------
Целевая аудитория:
Курс рассчитан на программистов, которые хотели бы освоить востребованноенаправление по разработке драйверов устройств для Linux и Android.
Курс рассчитан на программистов, которые хотели бы освоить востребованное направление по разработке драйверов устройств для Linux и Android. Необходимая предварительная подготовка основы программирования на С, Java.
------------------------------------------------------------------------------------------------------------------------------------------------------------------
На курсе слушатели получать знания и навыки, достаточные, чтобы начать работать в качестве системного программиста Linux:
• отличие драйверов устройств от прикладного ПО,
• сборку модулей ядра,
• функции, которые доступны из модулей,
• структура file,
• регистрацию, подключение устройств,
• пример драйвера символьного устройства c доступом на чтение и запись,
• блокировка процессов при конкурентном доступе к устройству,
• специфика управления памятью в ядре Linux,
• блочные устройства,
• пример драйвера, использующего семафоры,
• типы данных и структуры ядра и многое другое.
Программа курса:
Модуль 1:
Модуль 2:
- Архитектура ядра Linux;
- Отличия разработки драйверов от прикладного ПО;
- Потенциальные проблемы с безопасностью;
- Лицензирование модулей ядра.
Модуль 3:
- Простейший модуль ядра;
- Знакомство с printk();
- Сборка модулей ядра;
- Макроопределения _init и _exit;
- Вопросы документирования модулей;
- Передача модулю параметров командной строки;
- Модули, состоящие из нескольких файлов;
- Сборка модулей под существующее ядро.
Модуль 4:
- Модули ядра и прикладные программы;
- Функции, которые доступны из модулей;
- Пространство пользователя и пространство ядра;
- Пространство имен;
- Старший и младший номер устройства.
Модуль 5:
- Файлы символьных устройств;
- Структура file_operations;
- Структура file;
- Регистрация устройства;
- Отключение устройства;
- Пример драйвера символьного устройства с доступом только на чтение;
- Специфика поддержки записи для символьных устройств;
- Пример драйвера символьного устройства с доступом на чтение и запись.
Модуль 6:
- Особенность файловой системы /proc;
- Пример драйвера, создающего файл в /proc с доступом на чтение;
- Пример драйвера, создающего файл в /proc с доступом на запись;
- Блокировка процессов при конкурентном доступе к устройству;
- Пример драйвера, приостанавливающего работу процессов.
Модуль 7:
- Специфика управления памятью в ядре Linux;
- Преобразование адреса в ядре;
- Отображение файла в память ядра;
- Управление отображением в память.
Модуль 8:
- Блочные устройства;
- Регистрация блочного устройства;
- Операции, поддерживаемые для блочных устройств;
- Обработка запросов к блочному устройству;
- Детали реализации блочного устройства;
- Пример драйвера блочного устройства.
Модуль 9:
- Конкуренция и ситуация гонок;
- Семафоры и мьютексы;
- Реализация семафора в ядре Linux;
- Семафоры на чтение и запись;
- Взаимоблокировки;
- Пример драйвера, использующего семафоры.
Преподаватель:
- Типы данных и структура ядра;
- Специфика использования стандартных типов данных;
- Назначение типам данных явного размера;
- Специфичные типы данных;
- Аспекты, связанные с совместимостью;
- Измерение временных интервалов;
- Размер страницы;
- Порядок следования байт в словах;
- Выравнивание данных;
- Размер указателя.
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.