Операционная система Linux давно занимает лидирующие позиции в программном обеспечении суперкомпьютеров, она занимает второе место в сегменте интернет-серверов и стремительно набирает популярность в корпоративном сегменте. Этому способствуют главные преимущества Linux по сравнению с коммерческими операционными системами — высокая экономическая эффективность, мобильность, гибкость, оптимальные условия для установки СУБД.
На нашем курсе «Linux (Ubuntu). Уровень 2. Программирование в Linux на C/C++» Вы получите знания и навыки, необходимые для разработки программного обеспечения для стремительно набирающей популярность операционной системы Linux. Вы станете понимать процесс сборки ПО и специфики компилятора C/C++ из состава GCC. Вы научитесь разбираться в различиях между процессами и потоками, использовать многопоточность и ее специфики. Вы узнаете, кто такие «демоны» и в чем их отличие от прикладного программного обеспечения.
В Центре «Специалист» обучение Linux проводится на примере популярнейшего дистрибутива Ubuntu. Однако изучать Вы будете именно Linux, и после обучения в нашем Центре Вы легко сможете работать с любым дистрибутивом Linux: Debian, Mandriva, Red Hat, Mint, Alt Linux, Open SUSE, ASP Linux, МСВС и многие другие.
По окончании курса Вы будете уметь:
Понимать процесс сборки ПО и специфики компилятора C/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+
Формат: wmv
Видео: G2M4 1280x1024 29.97fps 316kbps
Аудио: Windows Media Audio 44100Hz mono 48kbps
Продолжительность: 37:00:00
Автор (режиссер): Специалист
Название: Linux (Ubuntu). Уровень 2. Программирование в Linux на C/C++
Год выпуска: 2011
Жанр: Программирование
Язык: русский
Размер: 2.92 Gb
Скачать Linux (Ubuntu). Уровень 2. Программирование в Linux на C/C++
sms4file.com
vip-file.com
letitbit.net
Установи SkyMonk и КАЧАЙ ФАЙЛЫ С МАКСИМАЛЬНОЙ СКОРОСТЬЮ с Letitbit.net, Vip-file.com, Sms4file.com, Shareflare.net и др. файлообменников — СОВЕРШЕННО БЕСПЛАТНО, в несколько потоков с докачкой, без ожидания 60 секунд
Скачать SkyMonk
vip-file.com
letitbit.net
Установи SkyMonk и КАЧАЙ ФАЙЛЫ С МАКСИМАЛЬНОЙ СКОРОСТЬЮ с Letitbit.net, Vip-file.com, Sms4file.com, Shareflare.net и др. файлообменников — СОВЕРШЕННО БЕСПЛАТНО, в несколько потоков с докачкой, без ожидания 60 секунд
Скачать SkyMonk