Курс: Основы Unix/Linux программирования. Вводный курс
Курс: Основы Unix/Linux программирования. Вводный курс
Продолжительность курса: 40 ак. ч.
Формат обучения:
• Очно - на территории нашего учебного центра или на территории Заказчика (для корпоративных клиентов)
• Онлайн обучение с помощью вебинаров в режиме "здесь и сейчас"
• Дистанционно с помощью системы СДО в любое удобное для вас время
Аудитория:
• Разработчики, собирающиеся создавать ПО на Unix/Linux платформе
• Опытные администраторы и инженеры
• Специалисты, решающие вычислительно-инженерные задачи на Unix-компьютерах
• Студенты, интересующиеся проблемами разработки ПО
Необходимая подготовка:
• Знание синтаксиса языка Си
• Знания и умения использования Unix/Linux систем в пределах курсов "Использование и администрирование Unix-систем для программистов" или "Администрирование FreeBSD" или "Администрирование Oracle SUN Solaris 10" или "Администрирование GNU/Linux"
• Небольшой опыт программирования на любом языке
• Знание английского языка в пределах чтения компьютерно-ориентированного материала
Программа курса:
Модуль 1. Введение
• Архитектура Unix с точки зрения программиста
• Системные вызовы и библиотечные функции
• Обработка ошибок
• Аргументы командной строки
• Oружение оболочки
• Лабораторная работа
Модуль 2. Инструменты
• Использование компилятора GNU cc (gcc)
• Утилита make
• RCS и CVS - поддержка версий
• Редакторы
• Отладчик gdb
• Создание библиотек
• Утилиты autoconf и automake
• Лабораторная работа
Модуль 3. Ввод/вывод
• Низкоуровневый ввод/ввывод
• Лабораторная работа
• Работа с файлами с помощью библиотеки stdio
• Лабораторная работа
Модуль 4. Управление памятью
• Процессы
• Создание процессов
• Сигналы
• Завершение процессов
• Лабораторная работа
Модуль 5. Потоки
• Создание потоков
• Отмена потоков
• Взаимодействие потоков
• Потоки и процессы. Сравнение
• Лабораторная работа
Модуль 6. Взаимодействие между процессами
• Каналы (pipes)
• Oчереди сообщений
• Механизм разделяемой памятью (shared memory)
• Семафоры
• Локальные сокеты
• Лабораторная работа
Модуль 7. Создание безопасных программ
• Причины наличия уязвимостей, безопасность и обеспечение с открытыми исходными текстами
• Проверка ввода данных
• Переполнение буфера
• Подходы и принципы, используемые для написания безопасных программ, инженерный подход к проектированию безопасного ПО
• Языки программирования и безопасные программы
• Криптография
• Инструменты для обнаружения брешей в безопасности программ
Окончательная цена указывается в договоре на обучение.
Характеристики курса
Начало: 26 мая 2025
Окончание: 30 мая 2025
Вендор: Unix
Код курса: UNIX2
Город: Екатеринбург, Пермь, Челябинск, Самара, Ижевск, Москва,