Программирование в Linux на C/C++

Linux programming with GCC



Программирование в Linux на C/C++
Код: LINP
Направление обучения: Свободное программное обеспечение
Продолжительность: 4 дня
Цена для физ. лиц: 19710 руб.
Цена для юр. лиц: 21900 руб.

Скачать прайс-лист (PDF)

Описание образовательной программы

По окончанию обучения слушатели будут обладать следующими навыками:

  • понимание процесса сборки ПО и специфики компилятора C/C++ из состава GCC
  • умение разрабатывать и использовать разделяемые библиотеки
  • навыки по использованию функций файлового ввода-вывода
  • понимание механизмов обеспечения многозадачности и межпроцессного взаимодействия и умение их использовать
  • навыки по использованию файловых и сетевых сокетов
  • понимание механизма сигналов и навыки по его использованию
  • знание различий между процессами и потоками, использование многопоточности и ее специфики
  • навыки по созданию демонов, понимание различий между демонами и прикладным ПО
  • понимание специфики консольного ввода-вывода и умение ее использовать
  • понимание специфики отображаемых в память файлов и умение их использовать

Цель курса

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

Целевая аудитория

Курс рассчитан на программистов окончивших курс «Программирование на языке C/C+» или имеющих эквивалентную подготовку.

Содержание

Тема 1.  Введение

  • ознакомление со спецификой сборки ПО в GNU/Linux 
  • ознакомление с консольными текстовыми редакторами
  • ручная и автоматическая сборка ПО
  • модель Клиент-Интерфейс-Сервер (КИС)
  • статическая сборка библиотек
  • совместно используемые библиотеки
  • работа с переменными окружения

Тема 2.   Низкоуровневый ввод-вывод и файловые операции
  • обзор механизмов ввода-вывода в Linux
  • файловые дескрипторы
  • системные вызовы: open, close, write, read и lseek
  • типы файлов
  • индексные дескрипторы и жесткие ссылки
  • права доступа к файлу
  • файловая система proc
  • два способа прочесть содержимое директории
  • разреженные файлы
  • блокировка областей файла

Тема 3.  Межпроцессное взаимодействие
  • способы межпроцессного взаимодействия: каналы, сообщения, разделяемая память и семафоры
  • неименованные каналы
  • именованные каналы
  • сообщения
  • разделяемая память
  • семафоры

Тема 4.  Сокеты
  • сокеты в файловом пространстве имен (UNIX-сокеты)
  • парные сокеты
  • сетевые сокеты

Тема 5.  Сигналы
  • знакомство с сигналами
  • отличие сигналов от других механизмов межпроцессного взаимодействия
  • специфика обработки сигналов

Тема 6.   Процессы

  • клонирование процессов - fork()
  • замена исполняемого процесса - exec()
  • зомби - причины возникновения и способы их устранения

Тема 7.   Потоки
  • потоки и процессы
  • специфика построения многопоточных приложений
  • досрочное завершение потока

Тема 8.   Потоки (продолжение)
 
  • создание обработчика завершения потока
  • средства синхронизации потоков
  • атрибуты потоков

Тема 9.   Демоны (службы)
  • отличие демона от консольной утилиты
  • специфика разработки демонов
  • создание демона использующего сетевые сокеты

Тема 10.   Консольный ввод-вывод
  •  предотвращение перенаправления вывода
  •  управление терминалом
  •  сокрытие пароля пользователя при аутентификации

Тема 11.   Отображаемая память
  •  отображение обычного файла
  •  совместный доступ к файлу
  •  частные отображения
  •  другие применения mmap

Получаемый документ

Сертификат.jpg


Оставить отзыв
Об этом курсе отзывов пока нет. Будьте первым.

Расписание


К сожалению, в этом курсе нет ближайших дат для бронирования, но вы можете запросить информацию.

Курс доступен в следующих пакетах: