Robot
			
			Складчик
		- #1
 
[Академия Информационных Систем] Разработка драйверов под Linux и Android [Сергей Боронин]
- Ссылка на картинку
 
На курсе слушатели получать знания и навыки, достаточные, чтобы начать работать в качестве системного программиста Linux:
• отличие драйверов устройств от прикладного ПО,
• сборку модулей ядра,
• функции, которые доступны из модулей,
• структура file,
• регистрацию, подключение устройств,
• пример драйвера символьного устройства c доступом на чтение и запись,
• блокировка процессов при конкурентном доступе к устройству,
• специфика управления памятью в ядре Linux,
• блочные устройства,
• пример драйвера, использующего семафоры,
• типы данных и структуры ядра и многое другое.
Целевая аудитория
Курс рассчитан на программистов, которые хотели бы освоить востребованное
направление по разработке драйверов устройств для Linux и Android.
Курс рассчитан на программистов, которые хотели бы освоить востребованное направление по разработке драйверов устройств для Linux и Android. Необходимая предварительная подготовка основы программирования на С, Java.
	
	
		
			
	
						• отличие драйверов устройств от прикладного ПО,
• сборку модулей ядра,
• функции, которые доступны из модулей,
• структура file,
• регистрацию, подключение устройств,
• пример драйвера символьного устройства c доступом на чтение и запись,
• блокировка процессов при конкурентном доступе к устройству,
• специфика управления памятью в ядре Linux,
• блочные устройства,
• пример драйвера, использующего семафоры,
• типы данных и структуры ядра и многое другое.
Целевая аудитория
Курс рассчитан на программистов, которые хотели бы освоить востребованное
направление по разработке драйверов устройств для Linux и Android.
Курс рассчитан на программистов, которые хотели бы освоить востребованное направление по разработке драйверов устройств для Linux и Android. Необходимая предварительная подготовка основы программирования на С, Java.
Модуль 1:
		- Архитектура ядра Linux;
 - Отличия разработки драйверов от прикладного ПО;
 - Потенциальные проблемы с безопасностью;
 - Лицензирование модулей ядра.
 
- Простейший модуль ядра;
 - Знакомство с printk();
 - Сборка модулей ядра;
 - Макроопределения _init и _exit;
 - Вопросы документирования модулей;
 - Передача модулю параметров командной строки;
 - Модули, состоящие из нескольких файлов;
 - Сборка модулей под существующее ядро.
 
- Модули ядра и прикладные программы;
 - Функции, которые доступны из модулей;
 - Пространство пользователя и пространство ядра;
 - Пространство имен;
 - Старший и младший номер устройства.
 
- Файлы символьных устройств;
 - Структура file_operations;
 - Структура file;
 - Регистрация устройства;
 - Отключение устройства;
 - Пример драйвера символьного устройства с доступом только на чтение;
 - Специфика поддержки записи для символьных устройств;
 - Пример драйвера символьного устройства с доступом на чтение и запись.
 
- Особенность файловой системы /proc;
 - Пример драйвера, создающего файл в /proc с доступом на чтение;
 - Пример драйвера, создающего файл в /proc с доступом на запись;
 - Блокировка процессов при конкурентном доступе к устройству;
 - Пример драйвера, приостанавливающего работу процессов.
 
- Специфика управления памятью в ядре Linux;
 - Преобразование адреса в ядре;
 - Отображение файла в память ядра;
 - Управление отображением в память.
 
- Блочные устройства;
 - Регистрация блочного устройства;
 - Операции, поддерживаемые для блочных устройств;
 - Обработка запросов к блочному устройству;
 - Детали реализации блочного устройства;
 - Пример драйвера блочного устройства.
 
- Конкуренция и ситуация гонок;
 - Семафоры и мьютексы;
 - Реализация семафора в ядре Linux;
 - Семафоры на чтение и запись;
 - Взаимоблокировки;
 - Пример драйвера, использующего семафоры.
 
- Типы данных и структура ядра;
 - Специфика использования стандартных типов данных;
 - Назначение типам данных явного размера;
 - Специфичные типы данных;
 - Аспекты, связанные с совместимостью;
 - Измерение временных интервалов;
 - Размер страницы;
 - Порядок следования байт в словах;
 - Выравнивание данных;
 - Размер указателя.
 
								Показать больше
					
			
			
											
												
													Зарегистрируйтесь
												
											, чтобы посмотреть скрытый контент.