В ходе курса студенты узнают основы работы с командной строкой, основные принципы работы операционных систем Unix/Linux, а также научатся писать скрипты на языке командной оболочки (bash). Также обучающиеся изучают основные команды Unix/Linux, работу с файлами и директориями, процессы и потоки данных.
По завершении курса студенты будут иметь базовые навыки программирования и смогут создавать простые скрипты, автоматизировать задачи, работать с файловой системой и процессами. Курс также включает в себя практические задания и проекты для закрепления полученных знаний.
Цель курса
Изучить основные концепции и инструменты программирования на Unix/Linux платформах.
Аудитория:
• разработчики, собирающиеся создавать ПО на Unix/Linux платформе;
• опытные администраторы и инженеры;
• специалисты, решающие вычислительно-инженерные задачи на Unix-компьютерах;
• студенты, интересующиеся проблемами разработки ПО.
После окончания курса выпускники будут знать и уметь:
• основные принципы работы операционных систем Unix/Linux;
• понимать структуру файловой системы Unix/Linux;
• работать с командной строкой и основными командами Unix/Linux;
• написание и запуск простых скриптов на языке командной оболочки, таких как bash;
• понимание основных концепций программирования в Unix/Linux, таких как переменные, условные операторы, циклы и функции;
• работать с файлами и директориями, использовать управление процессами;
• работать с текстовыми файлами, использовать регулярные выражения и работу с текстом;
• использование системных вызовов и библиотек для работы с различными аспектами операционной системы.
Предварительная подготовка:
• знание синтаксиса языка Си;
• знания и умения использования 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. Создание безопасных программ
• Причины наличия уязвимостей, безопасность и обеспечение с открытыми исходными текстами
• Проверка ввода данных
• Переполнение буфера
• Подходы и принципы, используемые для написания безопасных программ, инженерный подход к проектированию безопасного ПО
• Языки программирования и безопасные программы
• Криптография
• Инструменты для обнаружения брешей в безопасности программ
Раздел не найден.