Специальные акции
Скидки
Общая информация
Новости и успехи О направлении Концепция обучения Преподавательский состав
Схемы обучения
Администрирование Linux, FreeBSD и Solaris Программирование Linux Дистанционное обучение Открытые уроки
Условия обучения
Расписание и стоимость Индивидуальное обучение Форма и место проведения занятий Документы об обучении Учебные материалы
Сертификация
Linux Professional Institute CompTIA Linux+ ALT Linux Certified Specialist
Обратная связь
Вопросы и ответы Задать вопрос Отзывы слушателей Форум +7 (812) 703-02-02 Контакты
Печать

UNIX-DEV-SYS. Системное программирование в среде UNIX (Linux/FreeBSD)

Горячее питание

Продолжительность обучения: 40 ак.ч. практики очно
График обучения: 5 дней по 8 ак.ч.

Расписание

Курс пока не поставлен в расписание. Оставить заявку на курс

Стоимость

Дата Физ. лица, руб. Юр. лица, руб.
Без скидки Cкидка 10%* Cкидка 15%** Без скидки Cкидка 10% Cкидка 15%
Цена c 01.11.2013 17000 15300 14450 20000 18000 17000

*Скидка 10% для ранее обучавшихся, при одновременной оплате 2х курсов, а также по акциям.
**Скидка 15% при одновременной оплате 3х и более курсов.
Примечание. Студентам ВУЗов Санкт-Петербурга очной формы обучения скидка до 25%.
Скидки не предоставляется на курсы с дистанционной формой обучения.
Скидки не предоставляется на комплексные и модульные программы обучения.

Преподаватели

Аннотация

Одна из самых высокопереносимых и масштабируемых систем – операционная система UNIX, применяется на сегодняшний момент практически во всех сферах информационных приложений: от настольных приложений до крупнейших вычислительных центров. На базе этой операционной системы были созданы известнейшие интерфейсы прикладного программирования для переносимой вычислительной среды POSIX, которые по праву могут считаться стандартами де-факто для создания современного переносимого программного обеспечения.

В рамках данного курса даются базовые знания по известнейшим стандартам POSIX, cтандартам языка C, а также интерфейсам прикладного программирования (API) UNIX-подобных систем. Уделяется внимание прикладым инструментам разработчика и базовым методам управления программным проектом. Отдельное место уделяется приемам и методам межпроцессного взаимодействия, в том числе и в распределенных структурах – сетях ЭВМ, а так же методам создания распределенного программного обеспечения.

Документы об окончании обучения

  • Сертификат учебного центра
    Сертификат учебного центра
  • Удостоверение повышении квалификации (выдается лицам имеющим высшее или среднее профессиональное образование)
    Удостоверение повышении квалификации (выдается лицам имеющим высшее или среднее профессиональное образование)

Знания и умения, полученные в результате обучения

После окончания данного курса слушатели будут обладать знаниями по следующим направлениям:

  • Основные стандарты языка С, операционной системы UNIX и интерфейса переносимой операционной системы POSIX;
  • Стандартные библиотеки языка С;
  • Интерфейсы прикладного программного обеспечения (API) POSIX и UNIX.
  • Методы создания системного программного обеспечения UNIX.
  • Методы создания распределенного программного обеспечения.

К числу полученных практических навыков, полученных после окончания данного курса следует отнести:

  • Умение грамотно создавать и поддерживать программные проекты в среде разработки UNIX систем.

Требования к начальному уровню знаний

Базовые знания принципов построения современных операционных систем общего назначения и принципов сетевого взаимодействия. Знание и умение программирования на языке C. Знания и умения реализовать алгоритмы обработки различных структур данных. Владение операционной системой UNIX на уровне опытного пользователя.

Курсы, обеспечивающие достаточный начальный уровень знаний:

Предварительное тестирование

Тест №ФКТ-421 Архитектура UNIX

  • Пользовательская учетная запись (УЗ). Атрибуты пользовательской УЗ UNIX. Команды изменения атрибутов УЗ.
  • Первичная и дополнительные группы пользователей.
  • Дерево каталогов UNIX. Файловые системы и их монтирование в дерево каталогов. Команды управления деревом каталогов UNIX.
  • Типы файлов. Структура дерева каталогов UNIX. Команды управления файлами.
  • Владельцы файлов. Права доступа к файлу. Дополнительные атрибуты файла. Команды изменения атрибутов файлов.
  • Процессы. Типы процессов. Атрибуты процесса.
  • Жизненный путь процесса. Сигналы. Команды управления процессами.
  • Подсистема управления заданиями. Команды управления заданиями.
  • Парадигма ввода-вывода UNIX. Команды управления вводом и выводом данных.
  • Пользовательское окружение. Командный интерпретатор.
  • Пользовательский профиль. Настройка окружения командного интерпретатора. Переменные окружения.
  • Локализация и интернационализация окружения.
  • Основные утилиты UNIX.
  • Графический интерфейс UNIX. Настройка окружения графической подсистемы UNIX.

Список литературы для подготовки к тестированию

Операционная система UNIXОбложка 3
Книга на Ozon.ru  Книга на Books.ru
Андрей Робачевский, Сергей Немнюгин, Ольга Стесик
БХВ-Петербург, 2007
ISBN: 5-94157-538-6

Книга посвящена семейству операционных систем и содержит информацию о принципах организации, идеологии и архитектуре, объединяющих различные версии этой операционной системы. В книге рассматриваются: архитектура ядра Unix (подсистемы ввода/вывода, управления памятью и процессами, а также файловая подсистема), программный интерфейс Unix (системные вызовы и основные библиотечные функции), пользовательская среда (командный интерпретатор shell, основные команды и утилиты) и сетевая поддержка в Unix (протоколов семейства TCP/IP, архитектура сетевой подсистемы, программные интерфейсы сокетов и TLI).


Тест №ВПТ-217 Навыки программирования на языке С и навыки использования основных API ОС UNIX.

    Навыки программирования на языке С:
  1. Знание синтаксиса языка С.
  2. Умение компилировать программы, написанные на языке С.
  3. Знания и умения реализовать алгоритмы обработки следующих структур данных:
    • массивы и ассоциативные массивы (хэши);
    • очереди и стеки;
    • односвязные и двусвязные линейные списки;
    • структуры и массивы структур;
    Навыки использования основных API ОС UNIX:
  4. Основные инструменты разработки;
  5. Интерфейс файловой системы;
  6. Интерфейс сигналов;
  7. Создание и управление процессами.

Список литературы для подготовки к тестированию

UNIX. Программное окружениеОбложка 290
Книга на Ozon.ru  Книга на Books.ru
Брайн Керниган, Роб Пайк

Эта книга - своего рода библия для UNIX-программистов. Прочитав ее, вы не только поймете, как работает UNIX, но и почему он работает именно так. Сами авторы, Брайан Керниган и Роб Пайк, пишут в предисловии: `Наша задача - показать философию программирования под UNIX. Поскольку эта философия базируется на отношениях между программами, мы должны большую часть этой книги посвятить обсуждению индивидуальных инструментов, но в контексте их совместного использования, в том числе и для построения новых программ. Чтобы грамотно применять операционную систему UNIX и ее компоненты, необходимо понять не только как работать с ее программами, но и как они взаимодействуют с окружением`. Книга хороша для начинающих пользователей UNIX, которые хотят научиться программировать с помощью всех тех инструментов, которые поставляются с операционной системой. Прочтение этой книги как новичками, так и опытными пользователями поможет понять, как сделать работу с системой эффективной и приносящей удовольствие.


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

Модуль 1. Операционная система UNIX: Основные стандарты.

  • ANSI C
  • POSIX.1 (IEEE 1003.1-1988, IEEE 1003.1-1990), POSIX.1b (IEEE 1003.4-1993), POSIX.1c (1003.5-1995)
  • X/Open (XPG3, XPG4)

Модуль 2. Среда программирования

  • Программы и процессы UNIX
  • Библиотечные и системные вызовы UNIX и их заглушки.
  • Основные библиотеки UNIX и их заголовочные файлы
  • Процесс создания исполняемого файла. Динамическая и статическая компоновка
  • Формат ELF. Структура объектного и исполняемого файла
  • Позиционно-независимый код. Структура разделяемой библиотеки.

Модуль 3. Инструменты разработчика.

  • Компилятор языка C (cc).
  • Препроцессор языка C (cpp).
  • Компоновщик объектных модулей (ld). Просмотрщик зависимостей динамической компоновки (ldd).
  • Архиватор библиотек (ar)
  • Система управления сборкой (make). Синтаксис makefile.
  • Просмотровщики содержимого объектных и исполняемых файлов (objdump, nm, readelf).
  • Утилита очистки объектных и исполняемых файлов (strip).
  • Символьный отладчик (gdb).

Модуль 4. Средства автоматизации процесса разработки и сопровождения программы

  • Утилита automake
  • Утилита autoconf
  • Система контроля версий CVS
  • Среда разработки KDevelop

Модуль 5.Стандартная библиотека ANSI C

  • Стандартная библиотека ввода-вывода
  • Функции манипулирования строковыми данными.
  • Функции манипулирования областями памяти.
  • Функции управления динамически выделяемой памятью.

Модуль 6. Интерфейс файловой системы

  • Открытие и закрытие файлов.
  • Чтение и запись в файл.
  • Совместное использование и блокировка файлов.
  • Создание, удаление и установка атрибутов файлов и каталогов.
  • Создание жёстких и символических ссылок.

Модуль 7.  Сигналы

  • Концепция и виды сигналов
  • Обработчики сигналов
  • Надёжные и ненадёжные сигналы и их семантика.
  • Функции управления сигналами.

Модуль 8. Среда окружения и управление процессами

  • Порождение и завершение процессов.
  • Аргументы командной строки. Функция getopt.
  • Переменные окружения. Функции getenv и setenv
  • Управление процессами. Семейство функций fork и exec
  • Управление дочерними процессами. Семейство функций wait.

Модуль 9. Средства межпроцессного взаимодействия

  • Неименованные каналы
  • Очереди
  • Разделяемая память и семафоры

Модуль 10. Создание пользовательских интерфейсов

  • Конфигурирование терминального ввода-вывода
  • Интерфейс командной строки. Библиотека readline.
  • Псевдографический интерфейс. Библиотека libncurses.

Модуль 11. Стандартные решения для типовых задач. Библиотека glib

  • Типы данных, используемые в glib.
  • Функции и утилиты, предоставляемые glib.
       

Рекомендуемая литература

Операционная система UNIXОбложка 3
Книга на Ozon.ru  Книга на Books.ru
Андрей Робачевский, Сергей Немнюгин, Ольга Стесик
БХВ-Петербург, 2007
ISBN: 5-94157-538-6

Книга посвящена семейству операционных систем и содержит информацию о принципах организации, идеологии и архитектуре, объединяющих различные версии этой операционной системы. В книге рассматриваются: архитектура ядра Unix (подсистемы ввода/вывода, управления памятью и процессами, а также файловая подсистема), программный интерфейс Unix (системные вызовы и основные библиотечные функции), пользовательская среда (командный интерпретатор shell, основные команды и утилиты) и сетевая поддержка в Unix (протоколов семейства TCP/IP, архитектура сетевой подсистемы, программные интерфейсы сокетов и TLI).


Системное программирование в UNIX. Руководство программиста по разработке ПООбложка 292
Книга на Ozon.ru  Книга на Books.ru
Кейт Хэвиленд, Дайна Грэй, Бен Салама

Операционная система UNIX всегда занимала важную позицию в научном и техническом сообществах. В настоящее время существует множество крупномасштабных систем управления данными и обработки транзакций на платформе UNIX. Более того, эта ОС является ядром серверов магистральной сети Internet. Предлагаемое издание адресовано прежде всего программистам, уже знакомым с UNIX, которые собираются разрабатывать программное обеспечение для этой операционной системы на языке С. Помимо обзора основных понятий и терминологии, в книге представлено описание системных примитивов доступа к файлам, процессов UNIX и методов работы с ними. Рассмотрено межпроцессное взаимодействие, освещается работа с основными библиотеками. Книга также будет полезна разработчикам системного ПО, прикладных и деловых приложений.


Системное программирование на C++ для UNIXОбложка 291
Книга на Ozon.ru 
Теренс Чан

В книге содержится обзор современных технологий разработки сложных системных приложений для среды UNIX. Приведены многочисленные примеры программ, демонстрирующие принципы создания классов и приложений с помощью стандартных функций и классов ANSI, POSIX, UNIX; включены исходные тексты готовых классов, которые могут быть встроены во вновь создаваемые приложения, что позволит программисту сэкономить время и повысить качество своих программ. Особое внимане уделяется реальным проблемам, с которыми сталкиваются разработчики приложений клиент/сервер и других программных продуктов. Преднвзначена в первую очередь для специалистов, желающих овладеть передовыми методами программироваия на C++ для UNIX.


UNIX. Программное окружениеОбложка 290
Книга на Ozon.ru  Книга на Books.ru
Брайн Керниган, Роб Пайк

Эта книга - своего рода библия для UNIX-программистов. Прочитав ее, вы не только поймете, как работает UNIX, но и почему он работает именно так. Сами авторы, Брайан Керниган и Роб Пайк, пишут в предисловии: `Наша задача - показать философию программирования под UNIX. Поскольку эта философия базируется на отношениях между программами, мы должны большую часть этой книги посвятить обсуждению индивидуальных инструментов, но в контексте их совместного использования, в том числе и для построения новых программ. Чтобы грамотно применять операционную систему UNIX и ее компоненты, необходимо понять не только как работать с ее программами, но и как они взаимодействуют с окружением`. Книга хороша для начинающих пользователей UNIX, которые хотят научиться программировать с помощью всех тех инструментов, которые поставляются с операционной системой. Прочтение этой книги как новичками, так и опытными пользователями поможет понять, как сделать работу с системой эффективной и приносящей удовольствие.