К сожалению, большинство компаний предлагают подобный курс за безумные деньги (50+ к руб).
Нас нашлось 5 желающих найти подобный курс за более реальную сумму.
Был найден преподаватель (с большим опытом преподавательской деятельности), который объявил фиксированную сумму.
Было найдено помещение за вменяемые деньги.
При условии, что наберётся 8 (или чуть-чуть больше), получится 10000 руб за курс. Пока нас только 5.
Дата и время проведения: 25-28 февраля 2013 года. Время с 9:00 до 17:00 + 45 минут перерыв на обед.
Место проведения: Хакспейс нейрон: Лужнецкая набережная 2/4, строение 17, офис 444 (мансарда).
Возможно на форуме есть желающие, поучаствовать. Пожалуйста, напишите мне в ЛС.
зы.
Код: Выделить всё
Программа курса:
Модуль 1
Архитектура ядра linux
Отличия разработки драйверов от прикладного ПО
Потенциальные проблемы с безопасностью
Лицензирование модулей ядра
Модуль 2
Простейший модуль ядра
Знакомство с printk()
Сборка модулей ядра
Макроопределения __init и __exit
Вопросы документирования модулей
Передача модулю параметров командной строки
Модули, состоящие из нескольких файлов
Сборка модулей под существующее ядро
Модуль 3
Модули ядра и прикладные программы
Функции, которые доступны из модулей
Пространство пользователя и пространство ядра
Пространство имен
Адресное пространство
Старший и младший номер устройства
Модуль 4
Файлы символьных устройств
Структура file_operations
Структура file
Регистрация устройства
Отключение устройства
Пример драйвера символьного устройства c доступом только на чтение
Специфика поддержки записи для символьных устройств
Пример драйвера символьного устройства c доступом на чтение и запись
Модуль 5
Особенность файловой системы /proc
Пример драйвера, создающего файл в /proc c доступом на чтение
Блокировка процессов при конкурентном доступе к устройству
Пример драйвера, приостанавливающего работу процессов
Модуль 6
Специфика управления памятью в ядре Linux
Преобразование адреса в ядре
Отображение файла в память ядра
Управление отображением в память
Модуль 7
Блочные устройства
Регистрация блочного устройства
Операции, поддерживаемые для блочных устройств
Обработка запросов к блочному устройству
Детали реализации блочного устройства
Пример драйвера блочного устройства
Модуль 8
Конкуренция и ситуация гонок
Семафоры и мьютексы
Реализация семафора в ядре Linux
Семафоры на чтение и запись
Взаимоблокировки
Пример драйвера, использующего семафоры
Модуль 9
Типы данных и структуры ядра
Специфика использования стандартных типов данных
Назначение типам данных явного размера
Специфичные типы данных
Аспекты, связанные с совместимостью
Измерение временных интервалов
Размер страницы
Порядок следования байт в словах
Выравнивание данных
Размер указателя