Курс «Системное программирование, разработка драйверов и прикладных программ для операционной системы 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

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

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