Открыто

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

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

Цена: 35900р.-95%
Взнос: 1795р.

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

Резервный список: 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 участвует.
      13 сен 2024
    2. enkor
      enkor участвует.
      13 сен 2024
    3. skladchik.com
      В складчине участвует 20 человек(а).
      13 сен 2024
    4. mshulika
      mshulika не участвует.
      31 июл 2024