Курс "Программирование в Linux на C/C++" дает базовые знания и навыки, необходимые для разработки программного обеспечения, для стремительно набирающей популярность операционной системы Linux.
Операционная система Linux занимает лидирующие позиции (485 из топ 500 суперкомпьютеров под данным www.top500.org), второе место в сегменте интернет-серверов и стремительно набирает популярность в корпоративном сегменте.
Аудитория:
Курс ориентирован на программистов, окончивших курс «Программирование на языке C/C+» или имеющих эквивалентную подготовку.
После обучения слушатели научатся:
Понимать процесс сборки ПО и специфики компилятора C/C++ из состава GCC;
Разрабатывать и использовать разделяемые библиотеки;
Использовать функции файлового ввода-вывода;
Понимать механизмы обеспечения многозадачности и межпроцессного взаимодействия и использовать их;
Использовать файловые и сетевые сокеты;
Понимать механизм сигналов и использовать его;
Находить различия между процессами и потоками, использовать многопоточности и ее специфики;
Создавать демонов, понимать различия между демонами и прикладным ПО;
Понимать специфику консольного ввода-вывода и использовать ее;
Понимать специфику отображаемых в память файлов и использовать их.
Тема 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
Подтвердить полученные знания можно, сдав сертификационные экзамены. Учебный центр "Интерфейс" является авторизованным центром тестирования Pearson VUE
Учебный центр "Интерфейс" оказывает консалтинговые услуги по построению моделей бизнес-процессов, проектированию информационных систем, разработке структуры баз данных и т.д.
Возможна корректировка программ курсов по желанию заказчиков! Мы расскажем Вам о том, что интересует именно Вас, а не только о том, что жестко зафиксировано в программе курса.
Где Вам удобнее учиться? В Москве? Санкт-Петербурге? Подмосковье? В вашем собственном офисе? Позвоните нам по тел.:+7 (495) 925-0049 и мы обсудим удобный для Вас вариант обучения.