Частным лицам: +7 (495) 232-32-16
Корп. клиентам: +7 (495) 780-48-44

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




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

Продолжительность курса - 40 ак. ч.

Преподаватели курса

Отзывы о курсе

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

Cлушатель: Габец Тимур Георгиевич

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

Cлушатель: Шумов Антон Викторович


Все отзывы по курсу (16)

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

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

Получить консультацию о необходимой предварительной подготовке по курсу Вы можете у наших менеджеров: +7 (495) 232-32-16.

Наличие предварительной подготовки является залогом Вашего успешного обучения. Предварительная подготовка указывается в виде названия других курсов Центра (Обязательная предварительная подготовка). Вам следует прочитать программу указанного курса и самостоятельно оценить, есть ли у Вас знания и опыт, эквивалентные данной программе. Если Вы обладаете знаниями менее 85-90% рекомендуемого курса, то Вы обязательно должны получить предварительную подготовку. Только после этого Вы сможете качественно обучиться на выбранном курсе.

Рекомендуемые курсы по специальности

Чтобы стать профессионалом, мы рекомендуем Вам вместе с этим курсом изучить:

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

  Тема Ак. часов  
   
  Модуль 1. Ядро Linux
  • Архитектура ядра linux
  • Отличия разработки драйверов от прикладного ПО
  • Потенциальные проблемы с безопасностью
  • Лицензирование модулей ядра
2  
  Модуль 2. Модули ядра Linux
  • Простейший модуль ядра
  • Знакомство с printk()
  • Сборка модулей ядра
  • Макроопределения __init и __exit
  • Вопросы документирования модулей
  • Передача модулю параметров командной строки
  • Модули, состоящие из нескольких файлов
4  
  Модуль 3. Модули ядра, пространства и устройства
  • Модули ядра и прикладные программы
  • Функции, которые доступны из модулей
  • Пространство пользователя и пространство ядра
  • Пространство имен
  • Адресное пространство
  • Старший и младший номер устройства
4  
  Модуль 4. Данные
  • Типы данных и структуры ядра
  • Специфика использования стандартных типов данных
  • Назначение типам данных явного размера
  • Специфичные типы данных
  • Аспекты, связанные с совместимостью
  • Размер страницы
  • Порядок следования байт в словах
  • Выравнивание данных
  • Размер указателя
4  
  Модуль 5. Символьные устройства
  • Файлы символьных устройств
  • Структура file_operations
  • Структура file
  • Регистрация устройства
  • Отключение устройства
  • Пример драйвера символьного устройства c доступом только на чтение
  • Специфика поддержки записи для символьных устройств
  • Пример драйвера символьного устройства c доступом на чтение и запись
6  
  Модуль 6. Файловая система /proc
  • Особенность файловой системы /proc
  • Пример драйвера, создающего файл в /proc c доступом на чтение
  • Блокировка процессов при конкурентном доступе к устройству
  • Пример драйвера, приостанавливающего работу процессов
4  
  Модуль 7. Управление памятью в ядре Linux
  • Специфика управления памятью в ядре Linux
  • Преобразование адреса в ядре
  • Динамическое распределение памяти в ядре
2  
  Модуль 8. Блочные устройства
  • Блочные устройства
  • Регистрация блочного устройства
  • Особенности реализации блочного устройства
2  
  Модуль 9. Семафоры и синхронизация
  • Конкуренция и ситуация гонок
  • Семафоры и мьютексы
  • Реализация семафора в ядре Linux
  • Семафоры на чтение и запись
  • Взаимоблокировки
  • Пример драйвера, использующего семафоры
  • Измерение временных интервалов
4  
  Модуль 10. Реализация доступа к периферийному устройству
  • Практическая работа
8  
  Аудиторная нагрузка в классе с преподавателем 40 +20
бесплатно
 
  По окончании обучения на курсе проводится итоговая аттестация. Аттестация проводится в виде теста на последнем занятии или на основании оценок практических работ, выполняемых во время обучения на курсе.  

Ближайшие группы 

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

Полное расписание курса

Стоимость обучения (рублей)* 

Курс может быть заказан согласно ФЗ-44, ФЗ-223 (закупка/аукцион/запрос котировок/конкурсные процедуры)
с 10:00 до 17:00 Вечер или Выходные
Стандартная цена
Онлайн Индивидуальное обучение Записаться
Частные лица 26 990 26 990 26 990 102 000 **
Организации 30 990 30 990 30 990

Ваша выгода может быть 4 540 рублей

Разработка драйверов устройств в Linux + Разработка мобильных приложений под Android. Уровень 1 = 52 440 руб.*
56 980 руб.
*Данное предложение действует только для частных лиц.

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

Центр предоставляет специальную услугу Индивидуального обучения. Длительность индивидуального обучения - минимум 4 академических часа. Стоимость обучения в Москве уточняйте у менеджера. При выездном индивидуальном обучении устанавливается надбавка: +40% от стоимости заказанных часов при выезде в пределах МКАД, +40% от стоимости заказанных часов и + 1% от стоимости заказанных часов за каждый километр удаления от МКАД при выезде в пределах Московской области. Стоимость выезда за пределы Московской области рассчитывается индивидуально менеджерами по работе с корпоративными клиентами.
**Указана минимальная цена за индивидуальное обучение. Число часов работы с преподавателем в 2 раза меньше, чем при обучении в группе. Если Вам для полного усвоения материала курса потребуется больше часов работы с преподавателем, то они оплачиваются дополнительно.

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

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

Cert_Common

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

БУХ

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

Cert_Inter

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

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

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

Все документы Центра

Актуальные новости

Преподаватель курсов этичного хакинга Сергей Клевогин получил звание CEH Master

Преподаватель курсов этичного хакинга Сергей Клевогин получил звание CEH Master

Ведущий преподаватель учебного центра «Специалист» по этичному хакингу Сергей Клевогин получил квалификацию Мастера этичного хакинга (CEH Master).

Полный текст новости

«Специалист» начал подготовку игроков на КиберОлимпийские игры 2019!

«Специалист» начал подготовку игроков на КиберОлимпийские игры 2019!

14 августа в рамках подготовки к Международным КиберОлимпийским играм состоялось первое собрание команды учебного центра «Специалист». В нее вошли практикующие специалисты по информационной безопасности, которые завершили обучение на курсах этичного хакинга при Учебном центре.

Полный текст новости

Все новости

Наш сайт использует файлы cookie
Наша задача – сделать Ваше обучение успешным. Specialist.ru использует файлы cookie, чтобы гарантировать максимальное удобство пользователям, предоставляя им персонализированную информацию и запоминая их предпочтения. Продолжая пользоваться сайтом, Вы подтверждаете своё согласие на использование файлов cookie. Подробнее...