Курс "Программирование в Linux на C/C++"
Код: EDU-LIN-A1
Специализация: Авторские курсы: Программирование
Продолжительность - 4 дня
Производится набор группы
Курс "Программирование в 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
|