Курс "Программирование в Linux на C/C++"

Код: EDU-LIN-A1
Специализация: Авторские курсы: Программирование

Продолжительность - 4 дня

Производится набор группы

Стоимость:  34 000 руб.  

Курс "Программирование в Linux на C/C++" дает базовые знания и навыки, необходимые для разработки программного обеспечения, для стремительно набирающей популярность операционной системы Linux.

Операционная система Linux занимает лидирующие позиции (485 из топ 500 суперкомпьютеров под данным www.top500.org), второе место в сегменте интернет-серверов и стремительно набирает популярность в корпоративном сегменте.

Аудитория:

Курс ориентирован на программистов, окончивших курс «Программирование на языке C/C+» или имеющих эквивалентную подготовку.

После обучения слушатели научатся:

  • Понимать процесс сборки ПО и специфики компилятора C/C++ из состава GCC;
  • Разрабатывать и использовать разделяемые библиотеки;
  • Использовать функции файлового ввода-вывода;
  • Понимать механизмы обеспечения многозадачности и межпроцессного взаимодействия и использовать их;
  • Использовать файловые и сетевые сокеты;
  • Понимать механизм сигналов и использовать его;
  • Находить различия между процессами и потоками, использовать многопоточности и ее специфики;
  • Создавать демонов, понимать различия между демонами и прикладным ПО;
  • Понимать специфику консольного ввода-вывода и использовать ее;
  • Понимать специфику отображаемых в память файлов и использовать их.

После обучения рекомендуем прослушать курс: «Разработка драйверов под Linux и Android»

Программа курса

Тема 1. Введение

  • Ознакомление со спецификой сборки ПО в GNU/Linux
  • Ознакомление с консольными текстовыми редакторами
  • Ручная и автоматическая сборка ПО
  • Модель Клиент-Интерфейс-Сервер (КИС)
  • Статическая сборка библиотек
  • Совместно используемые библиотеки
  • Работа с переменными окружения

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

  • Обзор механизмов ввода-вывода в Linux
  • Файловые дескрипторы
  • Системные вызовы: open, close, write, read и lseek
  • Типы файлов
  • Индексные дескрипторы и жесткие ссылки
  • Права доступа к файлу
  • Файловая система proc
  • Два способа прочесть содержимое директории
  • Разреженные файлы
  • Блокировка областей файла

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

  • Способы межпроцессного взаимодействия: каналы, сообщения, разделяемая память и семафоры
  • Неименованные каналы
  • Именованные каналы
  • Сообщения
  • Разделяемая память
  • Семафоры

Тема 4. Сокеты

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

Тема 5. Сигналы

  • Знакомство с сигналами
  • Отличие сигналов от других механизмов межпроцессного взаимодействия
  • Специфика обработки сигналов

Тема 6. Процессы

  • Клонирование процессов - fork()
  • Замена исполняемого процесса - exec()
  • Зомби - причины возникновения и способы их устранения

Тема 7. Потоки

  • Потоки и процессы
  • Специфика построения многопоточных приложений
  • Досрочное завершение потока

Тема 8. Потоки (продолжение)

  • Создание обработчика завершения потока
  • Средства синхронизации потоков
  • Атрибуты потоков

Тема 9. Демоны (службы)

  • Отличие демона от консольной утилиты
  • Специфика разработки демонов
  • Создание демона использующего сетевые сокеты

Тема 10. Консольный ввод-вывод

  • Предотвращение перенаправления вывода
  • Управление терминалом
  • Сокрытие пароля пользователя при аутентификации

Тема 11. Отображаемая память

  • Отображение обычного файла
  • Совместный доступ к файлу
  • Частные отображения
  • Другие применения mmap

В конце обучения на курсе проводится итоговая аттестация в виде теста или на основании оценок за практические работы, выполненных в процессе обучения.


Программирование - это процесс создания инструкций для обработки информации центральным процессором.

Рынок IT – весь мир. Вы можете работать над иностранными проектами в аутсорсинговых российских компаниях, уехать работать в иностранную компанию или же трудиться на фрилансе из любой точки мира с заказчиками из разных стран. Профессия программиста открывает самые широкие возможности.

Учебный центр « Интерфейс» представляет авторские курсы для начинающих и опытных программистов, администраторов и разработчиков баз данных.

Практические занятия, преподаватели-эксперты и система посттренинговой поддержки — залог того, что Вы получите качественные и актуальные знания!

Наши курсы дают знания и навыки, необходимые для разработки программного обеспечения, драйверов устройств, современных web-приложений, информационных систем.

Учебный центр "Интерфейс" оказывает консалтинговые услуги по построению моделей бизнес-процессов, проектированию информационных систем, разработке структуры баз данных и т.д.

  • Нужна помощь в поиске курса?
    Наша цель заключается в обеспечении подготовки специалистов, когда и где им это необходимо. Возможна корректировка программ курсов по желанию заказчиков! Мы расскажем Вам о том, что интересует именно Вас, а не только о том, что жестко зафиксировано в программе курса. Если вам нужен курс, который вы не видите на графике или у нас на сайте, или если Вы хотите пройти курс в другое время и в другом месте, пожалуйста, сообщите нам, по адресу mail@interface.ru или shopadmin@itshop.ru
  • Поговорите со своим личным тренинг-менеджером!
    Мы предоставляет Вам индивидуальное обслуживание. Если у вас есть потребность обсудить, все вопросы касательно обучения, свяжитесь, пожалуйста c нами по телефонам: +7 (495) 925-0049, + 7 (495) 229-0436. Или любым другим удобным для Вас средствами связи, которые Вы можете найти на сайтах www.interface.ru или www.itshop.ru

Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/iservices/training.asp?iId=364817