Открыто

Разработка драйверов под Linux и Android [Академия Информационных Систем] [Сергей Боронин]

Тема в разделе "Курсы по программированию", создана пользователем Graph-sh, 24 ноя 2021.

Цена: 35900р.-94%
Взнос: 2079р.

Основной список: 19 участников

Резервный список: 4 участников

  1. 24 ноя 2021
    #1
    Graph-sh
    Graph-sh ЧКЧлен клуба
    ais_acad.jpg
    Разработка драйверов под Linux и Android - Академия Информационных Систем
    Описание
    Ядро Linux используется в большинстве современных смартфонов за счет применения в
    популярной платформе Android. Кроме того, не следует забывать и про лидирующее
    положение Linux в сегменте суперкомпьютеров (500 из топ 500 суперкомпьютеров под
    данным Скрытая ссылка), второе место в сегменте интернет-серверов и высокую ), второе место в сегменте интернет-серверов и высокую
    популярность в корпоративном сегменте. GNU Compilers Collection является лидером в
    списке аналогичного программного обеспечения по популярности среди средств
    разработки решений с открытым исходным кодом.

    ПРОДОЛЖИТЕЛЬНОСТЬ: 3 дня 24 ак.часа
    ---------------------------------------------------------------------------------------------------------------------------------------------
    Целевая аудитория:

    Курс рассчитан на программистов, которые хотели бы освоить востребованное
    направление по разработке драйверов устройств для Linux и Android.
    Курс рассчитан на программистов, которые хотели бы освоить востребованное направление по разработке драйверов устройств для Linux и Android. Необходимая предварительная подготовка основы программирования на С, Java.

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------

    На курсе слушатели получать знания и навыки, достаточные, чтобы начать работать в качестве системного программиста Linux:
    • отличие драйверов устройств от прикладного ПО,
    • сборку модулей ядра,
    • функции, которые доступны из модулей,
    • структура file,
    • регистрацию, подключение устройств,
    • пример драйвера символьного устройства c доступом на чтение и запись,
    • блокировка процессов при конкурентном доступе к устройству,
    • специфика управления памятью в ядре Linux,
    • блочные устройства,
    • пример драйвера, использующего семафоры,
    • типы данных и структуры ядра и многое другое.

    Программа курса:

    Модуль 1:
    • Архитектура ядра Linux;
    • Отличия разработки драйверов от прикладного ПО;
    • Потенциальные проблемы с безопасностью;
    • Лицензирование модулей ядра.
    Модуль 2:
    • Простейший модуль ядра;
    • Знакомство с printk();
    • Сборка модулей ядра;
    • Макроопределения _init и _exit;
    • Вопросы документирования модулей;
    • Передача модулю параметров командной строки;
    • Модули, состоящие из нескольких файлов;
    • Сборка модулей под существующее ядро.
    Модуль 3:
    • Модули ядра и прикладные программы;
    • Функции, которые доступны из модулей;
    • Пространство пользователя и пространство ядра;
    • Пространство имен;
    • Старший и младший номер устройства.
    Модуль 4:
    • Файлы символьных устройств;
    • Структура file_operations;
    • Структура file;
    • Регистрация устройства;
    • Отключение устройства;
    • Пример драйвера символьного устройства с доступом только на чтение;
    • Специфика поддержки записи для символьных устройств;
    • Пример драйвера символьного устройства с доступом на чтение и запись.
    Модуль 5:
    • Особенность файловой системы /proc;
    • Пример драйвера, создающего файл в /proc с доступом на чтение;
    • Пример драйвера, создающего файл в /proc с доступом на запись;
    • Блокировка процессов при конкурентном доступе к устройству;
    • Пример драйвера, приостанавливающего работу процессов.
    Модуль 6:
    • Специфика управления памятью в ядре Linux;
    • Преобразование адреса в ядре;
    • Отображение файла в память ядра;
    • Управление отображением в память.
    Модуль 7:
    • Блочные устройства;
    • Регистрация блочного устройства;
    • Операции, поддерживаемые для блочных устройств;
    • Обработка запросов к блочному устройству;
    • Детали реализации блочного устройства;
    • Пример драйвера блочного устройства.
    Модуль 8:
    • Конкуренция и ситуация гонок;
    • Семафоры и мьютексы;
    • Реализация семафора в ядре Linux;
    • Семафоры на чтение и запись;
    • Взаимоблокировки;
    • Пример драйвера, использующего семафоры.
    Модуль 9:
    • Типы данных и структура ядра;
    • Специфика использования стандартных типов данных;
    • Назначение типам данных явного размера;
    • Специфичные типы данных;
    • Аспекты, связанные с совместимостью;
    • Измерение временных интервалов;
    • Размер страницы;
    • Порядок следования байт в словах;
    • Выравнивание данных;
    • Размер указателя.
    Преподаватель:
    boronin_upl.jpg Боронин Сергей Сергеевич - преподаватель-эксперт в области информационной безопасности, информационных технологий и экономической безопасности.

    Продажник: Скрытая ссылка



     
    1 человеку нравится это.
  2. Последние события

    1. ownicc
      ownicc не участвует.
      30 апр 2024
    2. mshulika
      mshulika не участвует.
      29 апр 2024
    3. mshulika
      mshulika участвует.
      29 апр 2024
    4. stylet
      stylet участвует.
      29 апр 2024