dlinyj: (Default)
[personal profile] dlinyj
Хоть я и провожу вебинары и мастер-классы по одной программе и методичке, но никогда они не бывают похожи. Во-первых, я постоянно расту и ввожу новые темы и идеи, а во-вторых группы разные и повествование тоже идёт по разному, в зависимости от уровня группы. Поэтому вы получаете в любом случае уникальный материал.



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

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

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

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

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

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

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

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

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

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

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

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


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

Запись ведётся по электронной почте dlinyj@gmail.com. Для записи необходимо ваше имя (ф.и.о. по желанию) и контактные данные (номер телефона и почта). Желательно описать цели посещения этого вебинара, уровень подготовки и род занятий.

Пример проведённого вебинара: "Отладчик gdb"



Подробная программа курса:

Модуль 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



Ведущий курса: Долин Сергей aka dlinyj. В прошлом автор и редактор рубрики в журнале "Хакер". Электронщик, разработчик ПО linux (прикладное, тестового ПО для железа, драйвера). Разработчик ПО для встраиваемых систем. Программист linux с 2011 года. Работал в ОАО «НИЦЭВТ», АО «Концерн «Системпром», ООО «ПРОСОФТ» (в дочерней компании «Доламант»).
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 09:51 am
Powered by Dreamwidth Studios