Операционная система Linux давно занимает лидирующие позиции в программном обеспечении суперкомпьютеров, она занимает второе место в сегменте интернет-серверов и стремительно набирает популярность в корпоративном сегменте. Этому способствуют главные преимущества Linux по сравнению с коммерческими операционными системами — высокая экономическая эффективность, мобильность, гибкость, оптимальные условия для установки СУБД. Изучив видеокурс «Linux (Ubuntu). Уровень 2. Программирование в Linux на C/C++» Вы получите знания и навыки, необходимые для разработки программного обеспечения для стремительно набирающей популярность операционной системы Linux.
Видеокурс Linux (Ubuntu). Программирование в Linux на C/C++. Уровень 2
Вы станете понимать процесс сборки ПО и специфики компилятора C/C++ из состава GCC. Вы научитесь разбираться в различиях между процессами и потоками, использовать многопоточность и ее специфики. Вы узнаете, кто такие «демоны» и в чем их отличие от прикладного программного обеспечения. В Центре «Специалист» обучение Linux проводится на примере популярнейшего дистрибутива Ubuntu. Однако изучать Вы будете именно Linux, и после обучения в нашем Центре Вы легко сможете работать с любым дистрибутивом Linux: Debian, Mandriva, Red Hat, Mint, Alt Linux, Open SUSE, ASP Linux, МСВС и многие другие.
По окончании курса Вы будете уметь:
• Понимать процесс сборки ПО и специфики компилятора C/C++ из состава GCC
• Разрабатывать и использовать разделяемые библиотеки
• Использовать функции файлового ввода-вывода
• Использовать механизмы обеспечения многозадачности и межпроцессного взаимодействия
• Использовать файловые и сетевые сокеты
• Использовать механизм сигналов
• Разбираться в различиях между процессами и потоками, использовать многопоточность и ее специфики
• Создавать демонов, понимать различия между демонами и прикладным ПО
• Понимать специфику консольного ввода-вывода и уметь ее использовать
• Понимать специфику отображаемых в память файлов и уметь их использовать
Содержание видеокурса «Linux (Ubuntu). Программирование в Linux на C/C++. Уровень 2»:
Модуль 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+
Требуемая подготовка:
Успешное окончание курса Основы программирования и баз данных или эквивалентная подготовка.
Жанр: Обучающее видео
Производитель: Специалист
Год выпуска: 2011
Формат: WMV
Видео: G2M4 1280x1024 29.97fps 316kbps
Аудио: WMA 44100Hz mono 48kbps
Продолжительность: 37:00:00
Язык: Русский
Размер архива: 2,92 Гб
Внимание! У вас нет прав для просмотра скрытого текста.