Меню Рубрики

Разработка драйверов устройств в linux специалист

Разработка драйверов устройств в Linux

Linux device drivers development

09.02.07 Информационные системы и программирование

Цель курса: — дать знания и навыки, необходимые для разработки драйверов устройств для ОС Linux. Окончив данный курс, вы получите опыт, достаточный, чтобы начать работать в качестве системного программиста Linux.

Ближайший курс

ежедневно
18:30 — 21:30

29 990 ₽ ₽

Преподаватели

Седых Игорь Вячеславович

Описание курса

Цель курса: — дать знания и навыки, необходимые для разработки драйверов устройств для ОС Linux.

Ядро Linux используется в большинстве современных смартфонов за счет применения в популярной платформе Android. Кроме того, не следует забывать и про лидирующее положение Linux в сегменте суперкомпьютеров (469 из топ 500 суперкомпьютеров под данным www.top500.org), второе место в сегменте интернет-серверов и высокую популярность в корпоративном сегменте. GNU Compilers Collection является лидером в списке аналогичного программного обеспечения по популярности среди средств разработки решений с открытым исходным кодом.

Курс рассчитан на программистов, окончивших курс «Linux (Ubuntu). Уровень 2. Программирование в Linux на C» или имеющих эквивалентную подготовку.

Окончив данный курс, вы получите опыт, достаточный, чтобы начать работать в качестве системного программиста Linux.

Программа курса соответствует требованиям профессионального стандарта «Программист».

Вы научитесь

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

Специалисты, обладающие этими знаниями и навыками, в настоящее время крайне востребованы.

Большинство выпускников наших курсов делают успешную карьеру и пользуются уважением работодателей.

Предварительная подготовка

Требуемая подготовка: Успешное окончание курса Linux (Ubuntu). Уровень 2. Программирование в Linux на C или эквивалентная подготовка.

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

  • Архитектура ядра linux
  • Отличия разработки драйверов от прикладного ПО
  • Потенциальные проблемы с безопасностью
  • Лицензирование модулей ядра
  • Простейший модуль ядра
  • Знакомство с printk()
  • Сборка модулей ядра
  • Макроопределения __init и __exit
  • Вопросы документирования модулей
  • Передача модулю параметров командной строки
  • Модули, состоящие из нескольких файлов
  • Модули ядра и прикладные программы
  • Функции, которые доступны из модулей
  • Пространство пользователя и пространство ядра
  • Пространство имен
  • Адресное пространство
  • Старший и младший номер устройства
  • Типы данных и структуры ядра
  • Специфика использования стандартных типов данных
  • Назначение типам данных явного размера
  • Специфичные типы данных
  • Аспекты, связанные с совместимостью
  • Размер страницы
  • Порядок следования байт в словах
  • Выравнивание данных
  • Размер указателя
  • Файлы символьных устройств
  • Структура file_operations
  • Структура file
  • Регистрация устройства
  • Отключение устройства
  • Пример драйвера символьного устройства c доступом только на чтение
  • Специфика поддержки записи для символьных устройств
  • Пример драйвера символьного устройства c доступом на чтение и запись
  • Особенность файловой системы /proc
  • Пример драйвера, создающего файл в /proc c доступом на чтение
  • Блокировка процессов при конкурентном доступе к устройству
  • Пример драйвера, приостанавливающего работу процессов
  • Специфика управления памятью в ядре Linux
  • Преобразование адреса в ядре
  • Динамическое распределение памяти в ядре
  • Блочные устройства
  • Регистрация блочного устройства
  • Особенности реализации блочного устройства
  • Конкуренция и ситуация гонок
  • Семафоры и мьютексы
  • Реализация семафора в ядре Linux
  • Семафоры на чтение и запись
  • Взаимоблокировки
  • Пример драйвера, использующего семафоры
  • Измерение временных интервалов

Аудиторная нагрузка в классе с преподавателем: 40 ак. ч. + 20 ак. ч. бесплатно

По окончании обучения на курсе проводится итоговая аттестация. Аттестация проводится в виде теста на последнем занятии или на основании оценок практических работ, выполняемых во время обучения на курсе.

Преподаватели

Седых Игорь Вячеславович

Отзывы выпускников

Габец Тимур Георгиевич

Тема достаточно сложная, и если бы я не записался на этот курс, сам я бы вряд ли разобрался в данной теме.

Габец Тимур Георгиевич

Да, я бы посоветовал Linux-курсы своим коллегам на работе.

Габец Тимур Георгиевич

Курс хорош, хотелось бы больше уделить внимания написанию кода модулей ядра «с нуля», потому что переделывание «чужого» кода не позволяет в полной мере всё понять, и некоторые важные аспекты теряются. Моё пожелание — больше самостоятельного кода. Вероятно, правда, это потребует больше времени уделять на домашнее задание.

Шумов Антон Викторович

Очень радуют полученные практические навыки разработки

Туник Елена Николаевна

Все достаточно понятно и хорошо структурировано. Спасибо.

Расписание групп обучения

Данный курс вы можете пройти как в очном формате, так и дистанционно в режиме онлайн . Чтобы записаться на онлайн-обучение, в корзине измените тип обучения на «онлайн» и выберите удобную для вас группу.

Сортировать:

21.09.2020
02.10.2020

ежедневно вечер
18:30 — 21:30

СедыхИгорь
Вячеславович

м.Пролетарская

м.Крестьянская застава

29 990 ₽

23.11.2020
27.11.2020

ежедневно утро-день
10:00 — 17:10

СедыхИгорь
Вячеславович

м.Пролетарская

м.Крестьянская застава

29 990 ₽

08.02.2021
12.02.2021

ежедневно утро-день
10:00 — 17:10

СедыхИгорь
Вячеславович

м.Пролетарская

м.Крестьянская застава

29 990 ₽

28.06.2021
02.07.2021

ежедневно утро-день
10:00 — 17:10

СедыхИгорь
Вячеславович

м.Бауманская

29 990 ₽

29.11.2021
03.12.2021

ежедневно утро-день
10:00 — 17:10

СедыхИгорь
Вячеславович

м.Бауманская

29 990 ₽

* Данная скидка действительна при заказе и оплате онлайн обучения только сегодня. Запишитесь прямо сейчас со скидкой!

Стоимость обучения

Частным лицам

29 990 ₽

26 990 ₽ (-10%)

От 1 600 руб./месяц

Организациям

34 490 ₽

31 040 ₽ (-10%)

Указана минимальная цена за индивидуальное обучение. Число часов работы с преподавателем в 2 раза меньше, чем при обучении в группе. Если Вам для полного усвоения материала курса потребуется больше часов работы с преподавателем, то они оплачиваются дополнительно. В случае занятий по индивидуальной программе расчёт стоимости обучения и количества необходимых часов производится отдельно.

Длительность индивидуального обучения — минимум 4 академических часа. Стоимость обучения в Москве уточняйте у менеджера. При выездном индивидуальном обучении устанавливается надбавка: +40% от стоимости заказанных часов при выезде в пределах МКАД, +40% от стоимости заказанных часов и + 1% от стоимости заказанных часов за каждый километр удаления от МКАД при выезде в пределах Московской области. Стоимость выезда за пределы Московской области рассчитывается индивидуально менеджерами по работе с корпоративными клиентами.

Для юридических лиц (организаций) указана цена, действующая при полной предоплате.

Документы об окончании

В зависимости от программы обучения выдаются следующие документы:

Свидетельство

Удостоверение *

Cертификат международного образца

* Для получения удостоверения вам необходимо предоставить копию диплома о высшем или среднем профессиональном образовании.

Сертификаты международного образца выводятся после окончания курса в личном кабинете слушателя.

Комплексное обучение со скидкой

Разработка драйверов устройств в Linux

Android — разработчик. Уровень 1. Работающее мобильное приложение.

58 440 ₽ * 63 480 ₽

Ваша выгода 5 040 рублей

Данное предложение действует только для частных лиц.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Разработка графических приложений для linux
  • Разработка flash в linux
  • Разработка android на linux
  • Разное время в linux и windows
  • Разновидности linux операционных систем