Курс охватывает ключевые аспекты разработки под Linux, в том числе компиляцию, работу с файловой системой, межпроцессное взаимодействие, многопоточность, сигналы, сокеты и создание демонов. Студенты научатся разрабатывать эффективные и безопасные приложения для Linux, используя системные вызовы и механизмы ОС.
Оставьте свои контакты, для того чтобы получить демо-доступ
Ваш выбор
Разработка на C под Linux (Системный разработчик) тариф Самостоятельный
35000
р.
45000
р.
Курс охватывает ключевые аспекты разработки под Linux, в том числе компиляцию, работу с файловой системой, межпроцессное взаимодействие, многопоточность, сигналы, сокеты и создание демонов. Студенты научатся разрабатывать эффективные и безопасные приложения для Linux, используя системные вызовы и механизмы ОС.
Разработка на C под Linux (Системный разработчик) тариф Самостоятельный - рассрочка на 3 месяца
15000
р.
р.
Курс охватывает ключевые аспекты разработки под Linux, в том числе компиляцию, работу с файловой системой, межпроцессное взаимодействие, многопоточность, сигналы, сокеты и создание демонов. Студенты научатся разрабатывать эффективные и безопасные приложения для Linux, используя системные вызовы и механизмы ОС.
Для плотного и более эффективного взаимодействия с преподавателем
Мы постоянно обновляем учебный материал, а наш курс остается доступен и после окончания обучения, что позволит вам возвращаться к нему снова и снова, приобретая новые знания
Мгновенно и 24/7
Бесплатная часть
Мы открываем демо-доступ к каждому курсу, чтобы вы не покупали «кота в мешке». Оцените формат тренажера, глубину подачи материала и сразу получите прикладные навыки работы с инструментами.
В этом уроке узнаете:
Как устроена компиляция и сборка проектов.
Познакомитесь с редакторами и инструментами Linux.
Напишете и собрете проект из одного и двух C-файлов.
Разберетесь с Makefile и объектными файлами.
Узнатете, как анализировать бинарники через nm и cat.
+ домашнее задание
В этом уроке узнаете:
Модель KISS (клиент-интерфейс-сервер) и роль заголовочных файлов как интерфейса между main и библиотеками;
Научитесь собирать статические библиотеки с помощью утилиты ar и подключать их через Makefile;
Разберетесьь с назначением флага -fPIC и сборкой динамических библиотек (.so);
Выясните, как работает линковка и зачем нужны ключи -l, -L, -Wl,rpath;
Сравните плюсы и минусы статической и динамической компоновки: автономность, объем, производительность, необходимость пересборки;
Освоите навык оформления заголовочных файлов с защитой от повторного подключения (ifndef, define, endif).
+ домашнее задание
На этом занятии вы разберете, как в Linux работают переменные окружения и низкоуровневый ввод-вывод:
Для кого курс разработки на C под Linux и чем он будет полезен?
До курса.Имеют базовые знания о Linux и C/C++, но не владеют техниками оптимизации, взаимодействия процессов и потоков, работы с памятью. После курса.Способны разрабатывать эффективные и оптимизированные сервисы, управлять ресурсами системы, использовать сокеты, отображаемую память и синхронизацию потоков.
До курса.Умеют писать код на C/C++, но не понимают, как работают системные вызовы и потоки, как происходит взаимодействие процессов и управление памятью в Linux.
После курса.Уверенно пишут системные приложения, используют межпроцессное взаимодействие, многопоточность и сигналы, работают с файловой системой и могут разрабатывать демоны.
Разработчики C/C++
Инженеры встраиваемых и высоконагруженных систем
До курса.Знают базовые команды Linux, но не понимают, как устроены механизмы работы с файлами, процессами, сигналами и IPC. После курса.Разбираются в низкоуровневом взаимодействии с ОС, могут писать сложные серверные приложения и разрабатывать производительные многопоточные программы.
Программисты, изучающие системные механизмы и взаимодействие процессов в Linux
Как проходит обучение?
В формате видеолекций в записи с преподавателем и домашними заданиями
Записи лекции с расшифровкой
В каждом курсе –живые примеры, реальный опыт авторов и немного самоиронии. Объясняем просто, учим на кейсах, делаем обучение понятным и интересным.
Учиться стало в разы быстрее – автопроверка покажет, где ошибся
Наш ИИ-помощник ДуДу всегда рядом: он поможет разобраться даже с самыми каверзными вопросами, простым языком объяснит сложную теорию, подскажет решение для бизнес-кейсов и поддержит.
Ии помощник
Домашние задания с автопроверкой и помощью ИИ
программа
Компиляция и сборка программ в Linux, ручная и автоматическая сборка с использованием Makefile.
Модель "Клиент-Интерфейс-Сервер".
Статическая сборка библиотек.
Совместно используемые библиотеки (динамические библиотеки в Linux).
Работа с переменными окружения.
Клонирование процессов.
Замена исполняемого процесса.
Неименованные каналы.
Именованные каналы.
Очереди сообщений.
Совместно используемая память.
Семафоры.
Сокеты в файловом пространстве имен (UNIX-сокеты).
Парные сокеты.
Сетевые сокеты.
Устройство и применение сигналов в Linux.
Отличие сигналов от других механизмов межпроцессного взаимодействия.
Обработка сигналов.
Зомби-процессы, причины возникновения и способы их устранения.
Потоки и процессы.
Специфика построения многопоточных приложений.
Досрочное завершение потока.
Создание обработчика завершения потока.
Средства синхронизации потоков, мьютексы.
Атрибуты потоков.
Отличие демона от консольной утилиты.
Специфика разработки демонов.
Создание демона, использующего сетевые сокеты.
Специфика разработки консольных приложений.
Предотвращение перенаправления вывода.
Управление терминалом.
Сокрытие пароля пользователя при аутентификации.
Отображение обычного файла.
Совместный доступ к файлу.
Частные отображения.
Другие применения mmap.
Старший преподаватель института интеллектуальных кибернетических систем НИЯУ МИФИ
Профессионально преподает с 2010 года. Имеет большой опыт коммерческой разработки инженерного программного обеспечения в области нанотехнологий, включая проекты для корпорации LSI.
Автор множества специализированных программ для работы с компьютерной графикой и базами данных.
Преподает разработку и направления, связанные с Linux, и обучил более 6000 студентов. Среди его выпускников сотрудники таких известных организаций, как ОАО «Концерн ПВО «Алмаз – Антей», ОАО «Московский вертолетный завод им. М. Л. Миля», Департамент культурного наследия города Москвы, ОАО «Компания «Сухой» и других. Автор методических пособий, включая курс «Основы программирования и баз данных».
Игорь Седых
Преподаватель курса
Senior Разработчик под Linux, AstraLinux
Более 5 лет разработчик ядра Linux. Работал в компаниях: RAIDIX, YADRO, SBERTECH. Контрибьютор в ядро Linux. Teхстек: C, bash и инструменты для отладки ядерного кода таких как kmemleak, KASAN, KGDB, ftrace, eBPF. Опыт с архитектурой amd64, архитектурой современных операционных систем.
Глеб Коробейников
Преподаватель курса
Стоимость обучения на курсе Разработка на C под Linux
Чем больше студентов, тем больше корпоративная скидка 😏
Согласуем обучение
Для начала загляните в программу курса и выберите тариф, который вам подходит. Обсудите обучение с руководителем или просто дайте нам его контакт – мы все согласуем сами.
Обмен документами
Вы присылаете реквизиты вашей компании (их можно взять у HR, на сайте или уточнить в бухгалтерии). Если нужен список дополнительных документов, просто дайте знать, мы все подготовим. Далее мы вышлем счет на оплату.
Все готово, приступаем!
Вы получаете доступ к курсу, а по его завершении – сертификат. Закрывающие документы по итогам обучения отправляем по ЭДО, а ваша бухгалтерия их подписывает. Все быстро, удобно и по делу.
Остались вопросы или хотите пройти обучение от компании?Напишите нам в поддержку