Открыто

Linux (Ubuntu) . Уровень 2. Программирование в Linux на C [Специалист] [Игорь Седых] [2020]

Тема в разделе "Курсы по программированию", создана пользователем bizonnnnn, 1 дек 2020.

Цена: 24250р.-94%
Взнос: 1413р.

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

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

  1. 1 дек 2020
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба
    Linux (Ubuntu). Уровень 2. Программирование в Linux на C

    На нашем курсе «Linux (Ubuntu). Уровень 2. Программирование в Linux на C» Вы получите знания и навыки, необходимые для разработки программного обеспечения для стремительно набирающей популярность операционной системы Linux. Вы станете понимать процесс сборки ПО и специфики компилятора C из состава GCC. Вы научитесь разбираться в различиях между процессами и потоками, использовать многопоточность и ее специфики. Вы узнаете, что такое «демоны» и в чем их отличие от прикладного программного обеспечения.

    Вы научитесь:

    • Понимать процесс сборки ПО и специфики компилятора C из состава GCC
    • Разрабатывать и использовать разделяемые библиотеки
    • Использовать функции файлового ввода-вывода
    • Использовать механизмы обеспечения многозадачности и межпроцессного взаимодействия
    • Использовать файловые и сетевые сокеты
    • Использовать механизм сигналов
    • Разбираться в различиях между процессами и потоками, использовать многопоточность и ее специфики
    • Создавать демонов, понимать различия между демонами и прикладным ПО
    • Понимать специфику консольного ввода-вывода и уметь ее использовать
    • Понимать специфику отображаемых в память файлов и уметь их использовать
    Модуль 1. Введение
    • Ознакомление со спецификой сборки ПО в GNU/Linux (Ubuntu)
    • Ознакомление с консольными текстовыми редакторами (vi,nano,mcedit)
    • Ручная и автоматическая сборка ПО (Makefile)
    • Модель Клиент-Интерфейс-Сервер (КИС)
    • Статическая сборка библиотек
    • Совместно используемые библиотеки
    • Работа с переменными окружения
    Модуль 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. Консольный ввод-вывод
    • Специфика разработки консольных приложений
    • Предотвращение перенаправления вывода
    • Управление терминалом
    • Сокрытие пароля пользователя при аутентификации
    Модуль 11. Отображаемая память
    • Отображение обычного файла
    • Совместный доступ к файлу
    • Частные отображения
    • Другие применения mmap
    Модуль 12. Домашнее задание
    • Специфика разработки 64-битных приложений
    • Использование библиотеки ncurses
    • Программирование графического интерфейса с помощью GTK+

    Скрытая ссылка
     
    Последнее редактирование модератором: 19 май 2021
  2. Последние события

    1. skladchik.com
      В складчине участвует 20 человек(а).
      22 апр 2024 в 08:37
    2. Dakaut
      Dakaut не участвует.
      20 апр 2024
    3. Dakaut
      Dakaut участвует.
      20 апр 2024
    4. skladchik.com
      В складчине участвует 20 человек(а).
      19 апр 2024

    Последние важные события

    1. skladchik.com
      Взнос составляет 0р.
      12 июн 2021
    2. skladchik.com
      Нужен организатор складчины.
      12 июн 2021
    3. skladchik.com
      Складчина открыта.
      12 июн 2021
    4. skladchik.com
      Взнос составляет 1491р.
      24 май 2021
  3. Обсуждение
  4. 22 май 2021
    #2
    Britisher
    Britisher ЧКЧлен клуба
    Пока еще не все разбежались со складчины, в качестве рекламы языка -
    Не начинайте учиться кодингу с Python, начните с языка C , но как всегда случается на хабре, комментарии интереснее самой статьи.
     
  5. 22 май 2021
    #3
    Gannicus
    Gannicus ЧКЧлен клуба
    ещё бы курс от Игоря по Си, я нашёл только версию для школьников
     
  6. 13 июн 2021
    #4
    jennife
    jennife СкладчикСкладчик
    Как жалко, так ждала тему...
    Надеюсь получиться организовать
     
  7. 12 апр 2024
    #5
    Dorogoi
    Dorogoi ЧКЧлен клуба
    Это хорошая тема. И посмотрите, может ещё есть на Складчике. Просто 20й.. год
     

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