dlinyj: (Default)
[personal profile] dlinyj
Дорогие друзья, набирается группа по обучению "Разработка драйверов под Линукс". Вести будет Сергей Боронин http://sboronin.ru/ . Могу сказать, что я проходил у него курсы программирования под Linux на си, и остался невероятно доволен стилем преподавания и программой курса.

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

Модуль 1
  • Архитектура ядра linux
  • Отличия разработки драйверов от прикладного ПО
  • Потенциальные проблемы с безопасностью
  • Лицензирование модулей ядра

Модуль 2
  • Простейший модуль ядра
  • Знакомство с printk()
  • Сборка модулей ядра
  • Макроопределения __init и __exit
  • Вопросы документирования модулей
  • Передача модулю параметров командной строки
  • Модули, состоящие из нескольких файлов
  • Сборка модулей под существующее ядро

Модуль 3
  • Модули ядра и прикладные программы
  • Функции, которые доступны из модулей
  • Пространство пользователя и пространство ядра
  • Пространство имен
  • Адресное пространство
  • Старший и младший номер устройства

Модуль 4
  • Файлы символьных устройств
  • Структура file_operations
  • Структура file
  • Регистрация устройства
  • Отключение устройства
  • Пример драйвера символьного устройства c доступом только на чтение
  • Специфика поддержки записи для символьных устройств
  • Пример драйвера символьного устройства c доступом на чтение и запись

Модуль 5
  • Особенность файловой системы /proc
  • Пример драйвера, создающего файл в /proc c доступом на чтение
  • Блокировка процессов при конкурентном доступе к устройству
  • Пример драйвера, приостанавливающего работу процессов

Модуль 6
  • Специфика управления памятью в ядре Linux
  • Преобразование адреса в ядре
  • Отображение файла в память ядра
  • Управление отображением в память

Модуль 7
  • Блочные устройства
  • Регистрация блочного устройства
  • Операции, поддерживаемые для блочных устройств
  • Обработка запросов к блочному устройству
  • Детали реализации блочного устройства
  • Пример драйвера блочного устройства

Модуль 8
  • Конкуренция и ситуация гонок
  • Семафоры и мьютексы
  • Реализация семафора в ядре Linux
  • Семафоры на чтение и запись
  • Взаимоблокировки
  • Пример драйвера, использующего семафоры

Модуль 9
  • Типы данных и структуры ядра
  • Специфика использования стандартных типов данных
  • Назначение типам данных явного размера
  • Специфичные типы данных
  • Аспекты, связанные с совместимостью
  • Измерение временных интервалов
  • Размер страницы
  • Порядок следования байт в словах
  • Выравнивание данных
  • Размер указателя





Дата и время проведения: 25-28 февраля 2013 года. Время с 9:00 до 17:00 + 45 минут перерыв на обед. Место проведения Хаксейс нейрон: Лужнецкая набережная 2/4, строение 17, офис 444 (мансарда) http://neuronspace.ru/ http://maps.yandex.ru/org/1004097707/ . Стоимость всего удовольствия 10 000 рублей (десять тысяч рублей).

Для участия: нужно безмерное желание, 10000 рублей, написать мне, оставив своё ФИО, номер телефона и е-майл. По всем интересующим вопросам готов ответить. Торопитесь, количество мест строго ограничено.

З.Ы. Лично я являюсь организатором, но не лектором, этого курса.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 03:53 pm
Powered by Dreamwidth Studios