Открыто

Linux разработка на языке Cи. Изучаем основное API

Тема в разделе "Курсы по программированию", создана пользователем user286, 14 авг 2016.

Цена: 2000р.
Взнос: 169р.

Основной список: 16 участников

Резервный список: 10 участников

  1. 14 авг 2016
    #1
    user286
    user286 ДолжникДолжник

    Linux разработка на языке Cи. Изучаем основное API

    Вебинар. Linux разработка на языке си. Изучаем основное API.

    В данном вебинаре будет охватываться основное API разработчика в пространстве пользователя.

    - Ознакомление с процессом сборки ПО и специфики компилятора C из состава GCC

    - Разработка и использование разделяемых библиотек

    - Отладка программ

    - Изучение механизмов низкоуровнего файлового ввода-вывода

    - Изучение механизмов обеспечения многозадачности и межпроцессного взаимодействия

    - Применение файловых и сетевых сокетов

    - Изучение и применение механизма сигналов

    - Изучение процессов, потоков их различие, использование многопоточности, изучение механизмов синхронизации потоков и их проблем

    - Создание демонов, изучение различия между демонами и прикладным ПО

    - Изучение особенностей консольного ввода-вывода

    - Применение отображаемых в память файлов и их использование

    Дата и время проведения данного вебинара: с 22 по 25 августа, с 11:00 по 17:00 (время Московское!), с перерывами (время ориентировочное, быть может будет и быстрее). Стоимость вебинара 2 000 российских рублей. География участников не имеет значения. Видеозапись будет обязательно!!! Для тех кто пропустил или не может быть, запись будет!
    Требования к участникам мастер-класса: Знание языка си, на уровне книги Б.В. Керниган,Д.М. Ричи «ЯЗЫК С».

    Ведущий курса: Долин Сергей aka dlinyj. В прошлом автор и редактор рубрики в журнале "Хакер". Электронщик, разработчик ПО linux (прикладное, тестового ПО для железа, драйвера). Разработчик ПО для встраиваемых систем. Программист linux с 2011 года. Работал в ОАО «НИЦЭВТ», АО «Концерн «Системпром», ООО «ПРОСОФТ» (в дочерней компании «Доламант»).

    Содержание
    Модуль 1. Введение

    Ознакомление со спецификой сборки ПО в GNU/Linux

    Ознакомление с консольными текстовыми редакторами (vi,nano,mcedit)

    Работа с отладчиком gdb

    Ручная и автоматическая сборка ПО (Makefile)

    Работа с отладчиком gdb

    Модель Клиент-Интерфейс-Сервер (КИС)

    Статическая сборка библиотек

    Совместно используемые библиотеки

    Работа с переменными окружения

    Модуль 2. Низкоуровневый ввод-вывод и файловые операции

    Обзор механизмов ввода-вывода в Linux (Ubuntu)

    Файловые дескрипторы

    Системные вызовы: open, close, write, read и lseek

    Типы файлов

    Индексные дескрипторы и жесткие ссылки

    Права доступа к файлу

    Файловая система proc

    Два способа прочесть содержимое директории

    Разреженные файлы и специфика их применения

    Блокировка областей файла

    Модуль 3. Межпроцессное взаимодействие

    Механизмы межпроцессного взаимодействия Linux (Ubuntu)

    Неименованные каналы (pipes)

    Именованные каналы (named pipes)

    Сообщения (message queue)

    Разделяемая память (shared memory)

    Семафоры (semaphores)

    Модуль 4. Сокеты

    Сокеты в файловом пространстве имен (UNIX-сокеты)

    Парные сокеты (pair sockets)

    Сетевые сокеты (sockets)

    Модуль 5. Сигналы

    Знакомство с сигналами (signals)

    Отличие сигналов от других механизмов межпроцессного взаимодействия

    Специфика обработки сигналов (signal handling)

    Модуль 6. Процессы

    Клонирование процессов — fork()

    Замена исполняемого процесса — exec()

    Зомби (zombies) — причины возникновения и способы их устранения

    Модуль 7. Потоки

    Потоки и процессы

    Специфика построения многопоточных приложений (multithreading)

    Досрочное завершение потока

    Модуль 8. Потоки (продолжение)

    Создание обработчика завершения потока

    Средства синхронизации потоков (synchronize primitives)

    Атрибуты потоков

    Модуль 9. Демоны (службы)

    Отличие демона от консольной утилиты

    Специфика разработки демонов (daemons)

    Создание демона использующего сетевые сокеты

    Модуль 10. Консольный ввод-вывод

    Специфика разработки консольных приложений

    Предотвращение перенаправления вывода

    Управление терминалом

    Сокрытие пароля пользователя при аутентификации

    Управление терминалом с помощью ESC-последовательностей

    Модуль 11. Отображаемая память

    Отображение обычного файла

    Совместный доступ к файлу

    Частные отображения

    Другие применения mmap

    Модуль 12. Домашнее задание

    Специфика разработки 64-битных приложений

    Использование библиотеки ncurses
    Продажник
    видео одной из тем с прошлого вебинара:
     
    1 человеку нравится это.
  2. Последние события

    1. eugen_ax
      eugen_ax не участвует.
      23 дек 2023
    2. Massazhist
      Massazhist не участвует.
      13 янв 2023
    3. Kruteluk
      Kruteluk не участвует.
      19 окт 2022
    4. ocodeok
      ocodeok участвует.
      2 июн 2022

Поделиться этой страницей