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

Курс рассчитан на программистов, окончивших курс «Программирование на языке 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