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 рублей, написать мне, оставив своё ФИО, номер телефона и е-майл. По всем интересующим вопросам готов ответить. Торопитесь, количество мест строго ограничено.

З.Ы. Лично я являюсь организатором, но не лектором, этого курса.

Date: 2013-02-05 08:09 pm (UTC)
From: [identity profile] kyzia.livejournal.com
Я подумаю.

На кого рассчитан курс? Т.е. насколько там си нужно знать? Сколько ак. часов в сумме?
Edited Date: 2013-02-05 08:10 pm (UTC)

Date: 2013-02-05 08:17 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Ну как минимум надо знать вот это: http://www.specialist.ru/course/unsi#contents

Date: 2013-02-05 08:21 pm (UTC)
From: [identity profile] kyzia.livejournal.com
тогда пока я пас :)

Видимо, потом.
Работа с модулями ядра - дико интересная вещь.

Date: 2013-02-06 06:00 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Я тебе чутьпозже сцылояку дам, о том как товарищ дрова разрабатываал. Если тебе будет по сути все понятно, то можно будет пойти

Date: 2013-02-06 07:14 am (UTC)
From: [identity profile] Олег Кузнецов (from livejournal.com)
Давай.

И еще раз, курс будет идти неделю или три дня?)

Date: 2013-02-06 08:12 am (UTC)
From: [identity profile] dlinyj.livejournal.com
Три полных дня, с утра и до вечера

Date: 2013-02-07 07:54 am (UTC)
From: [identity profile] walsk.livejournal.com
А можно мне тоже? Я тоже хочу, но сомневаюсь, достаточен ли мой нынешний уровень знаний.

Date: 2013-02-07 08:06 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Девушка линуксойд и программист, такое бывает? :))).

Ссылка на проверку знаний: http://habrahabr.ru/post/163861/

Date: 2013-02-11 09:10 am (UTC)
From: [identity profile] walsk.livejournal.com
Бывает; впрочем, по сравнению с вами я, конечно, цыплёнок по уровню знаний. Но это, надеюсь, только пока. :))

Спасибо, отправилась изучать.

Date: 2013-02-15 08:47 am (UTC)
From: [identity profile] walsk.livejournal.com
Хм, думаю, пока вист отменяется. Мне, конечно, хочется и интересно, но не тот уровень программирования, чтобы извлечь из этого курса реальную пользу.
Поэтому я не участвую.

Date: 2013-02-05 08:18 pm (UTC)
From: [identity profile] dlinyj.livejournal.com
Хотя, я думаю базовых знаний си и линукса должно быть достаточно

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 10:43 pm
Powered by Dreamwidth Studios