Системное программирование, разработка драйверов и прикладных программ для операционной системы Linux

Системное программирование, разработка драйверов и прикладных программ для операционной системы Linux
АктуальностьИдёт набор
Стоимость42000 руб
Продолжительность180 часов
Группаот 8 до 12 человек
Начало занятийПо мере формирования группы
  Записаться на курс

Основной задачей курса является качественное изменение профессиональных компетенций, необходимых для выполнения различных видов профессиональной деятельности в рамках системного программирования, разработки драйверов и прикладных программ для ОС Linux.

Повышение квалификации предусмотрено для следующих направлений деятельности:

  • осуществление разработки программного обеспечения для ОС Linux на языке Си;
  • осуществление проектирования и отладки кода в режиме ядра;
  • настройка и эксплуатация инфраструктуры управления проектом.

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

Слушатель должен знать:

  • Основы программирования в Linux;
  • Архитектуру ядра ОС;
  • Принципы системного программирования в Linux;
  • Принципы написания и отладки драйверов устройств.

Слушатель должен уметь:

  • Разрабатывать прикладные программы в ОС Linux;
  • Разрабатывать и отлаживать приложения с использованием штатных средств gdb, binutils;
  • Разрабатывать и отлаживать модули ядра;
  • Реализовывать обработчики прерываний;
  • Разрабатывать и отлаживать драйверы устройств.

Категория слушателей – профессиональные разработчики системного программного обеспечения с высшим техническим образованием.

Форма обучения – очная, с отрывом от работы.

Учебный план

№ п/п Наименование разделов Всего часов В том числе
Лекции Практические и лабораторные занятия Самостоятельное изучение Проверка знаний

Модуль 1. Основы программирования в Linux

1

Обзор операционной системы Linux

2

2

 

 

 

2

Инструменты разработки и отладки. Shell scripting, автоматизация рутинных задач.

7

3

4

 

 

3

Динамические библиотеки, системный линковщик. Линковка в runtime

7

3

4

 

 

4

Процессы в Linux

4

2

2

 

 

5

Введение в POSIX threads

4

2

2

 

 

6

Работа с памятью

4

2

2

 

 

7

Средства межпроцессного взаимодействия

6

2

4

 

 

8

Сокеты

3

1

2

 

 

9

Пакетные менеджеры и сборка пакетов rpm, deb

3

1

2

 

 

10

Разработка приложений с графическим интерфейсом пользователя

4

2

2

 

 

11

Файлы и файловые системы

5

2

3

 

 

12

Проверка знаний (Устный экзамен)

2

 

 

 

2

13

Итого по модулю:

51

22

27

 

2

Модуль 2: Системное программирование в Linux

1

Интерфейс ядра Linux. GLibc

4

2

2

 

 

2

Порядок загрузки и инициализация Linux

3

1

2

 

 

3

Процессы и потоки. Планировщик

4

2

2

 

 

4

Синхронизация

4

2

2

 

 

5

Структура исполняемых файлов. Загрузка в память

6

2

4

 

 

6

Процессы-серверы. Демонизация процесса

3

1

2

 

 

7

Обзор сетевой подсистемы

2

2

 

 

 

8

Асинхронные сетевые соединения

3

1

2

 

 

9

Использование простых (raw) сокетов

3

1

2

 

 

10

Разделяемая память

3

1

2

 

 

11

Специальные файловые системы /proc, /sys

5

1

4

 

 

12

Средства  виртуализации: namespaces, cgroups. Виртуализация блочных устройств и файловых систем.

10

4

6

 

 

13

Проверка знаний (Устный экзамен)

2

 

 

 

2

14

Итого по модулю:

52

20

30

 

2

Модуль 3: Программирование в ядре Linux

1

Архитектура ядра Linux

2

2

 

 

 

2

Компиляция, сборка и установка ядра. Наложение патчей

4

2

2

 

 

3

Основные сведения о модулях ядра.

4

2

2

 

 

4

Отладка модулей.

6

2

4

 

 

5

Символьные устройства.

6

2

4

 

 

6

Модели ввода-вывода.

6

2

4

 

 

7

Синхронизация доступа к данным  в ядре

4

2

2

 

 

8

Измерение времени

3

1

2

 

 

9

Отложенные задания и очереди исполнения. Планировщики

4

2

2

 

 

10

Управление памятью ядра

6

2

4

 

 

11

Виртуализация блочных устройств и файловых систем

3

1

2

 

 

12

Взаимодействие с аппаратными устройствами

6

2

4

 

 

13

Реализация сетевого стека. Работа с ethernet кадрами

6

2

4

 

 

14

RT Linux

5

1

4

 

 

15

KURT

5

1

4

 

 

16

Xenomai

5

1

4

 

 

17

Проверка знаний (Устный экзамен)

2

 

 

 

2

18

Итого по модулю:

77

27

48

 

2

 

Итого по курсу

180

69

105

 

6


Контактная информация

пн. - пт. с 10:00 до 17:00
+7 812 346-28-18, +7 812 346-45-21
+7 812 346-45-21
ino@etu.ru

Запись на курс

Отправляя сообщение с помощью данной формы, вы соглашаетесь с обработкой своих персональных данных в соответствии с «Политикой обработки и защиты персональных данных СПбГЭТУ «ЛЭТИ». Все поля помеченные * являются обязательными для заполнения.