Основы программирования для Linux [2022] [Cubit] [Кирилл Кринкин, Марк Заславский, Татьяна Берленко, Константин Чайка, Валерия Допира]

Bot

Администратор
Команда форума
23 Янв 2020
207,457
3,147
113
Основы программирования для Linux [2022]
Cubit
Кирилл Кринкин, Марк Заславский, Татьяна Берленко, Константин Чайка, Валерия Допира
Напиши первый рабочий проект для Linux уже к концу курса.

Чему вы научитесь:

1. Разрабатывать программы для настольной и серверной ОС Linux
2. Программно управлять процессами операционной системы
3. Работать с элементами файловой системы, в том числе со ссылками
4. Организовывать межпроцессное и сетевое взаимодействие приложений
5. Создавать и подключать динамические библиотеки
6. Выполнять многопоточные вычисления
7. Работать с разделяемой памятью

Спойлер: Содержание
Модуль 1 - Введение в разработку для Linux
  • Основной инструментарий разработчика Linux
  • Динамические библиотеки и линковка
  • Runtime линковка. Libdl
Модуль 2 - Файлы и файловые системы
  • Базовые функции работы с файлами
  • Работа с каталогами и путями
  • Ссылки
  • Файловая система /proc. Построение дерева процессов
  • Отладка программ в Linux
Модуль 3 - Процессы и потоки
  • Жизненный цикл процесса в Linux
  • Создание процессов fork/exec
  • Атрибуты создаваемого процесса. Системный вызов clone
  • Процессы-демоны
  • Задачи на программирование
Модуль 4 - Взаимодействие процессов
  • Виды межпроцессного взаимодействия в Linux
  • Каналы
  • Сигналы
  • Разделяемая память
  • Мультиплексирование ввода-вывода.
  • Задачи на программирование
Модуль 5 - Сетевые возможности
  • Введение
  • Принципы организации IP сетей
  • Понятие сокета
  • Разрешение имен
  • Сокеты дейтаграм. Протокол UDP
  • Сокеты ориентированные на соединения. Протокол TCP
  • Задачи на программирование
Модуль 6 - Заключительный модуль
  • Финальный урок
Модуль 7 - Дополнительный и справочный материал
  • Дополнительные материалы
  • Обработка параметров командной строки. Getopt

Примечание: Тариф Стандарт
Продажник