Уровень сложности:
Длительность курса: 40 ак.ч.
График обучения: 5 занятий по 8 ак.ч. или 10 занятий по 4 ак.ч.
Аннотация
Одна из самых высокопереносимых и масштабируемых систем – операционная
система UNIX, применяется на сегодняшний момент практически во всех сферах
информационных приложений: от настольных приложений до крупнейших вычислительных
центров. На базе этой операционной системы были созданы известнейшие интерфейсы
прикладного программирования для переносимой вычислительной среды POSIX, которые
по праву могут считаться стандартами де-факто для создания современного
переносимого программного обеспечения.
В рамках данного курса даются базовые знания по известнейшим стандартам
POSIX, cтандартам языка C, а также интерфейсам прикладного программирования
(API) UNIX-подобных систем. Уделяется внимание прикладым инструментам
разработчика и базовым методам управления программным проектом. Отдельное место
уделяется приемам и методам межпроцессного взаимодействия, в том числе и в
распределенных структурах – сетях ЭВМ, а так же методам создания распределенного
программного обеспечения.
Знания и умения, полученные в результате обучения
После окончания данного курса слушатели будут обладать знаниями по следующим
направлениям:
- Основные стандарты языка С, операционной системы UNIX и интерфейса
переносимой операционной системы POSIX;
- Стандартные библиотеки языка С;
- Интерфейсы прикладного программного обеспечения (API) POSIX и UNIX.
- Методы создания системного программного обеспечения UNIX.
- Методы создания распределенного программного обеспечения.
К числу полученных практических навыков, полученных после окончания данного
курса следует отнести:
- Умение грамотно создавать и поддерживать программные проекты в среде
разработки UNIX систем.
Курсы, в освоении которых помогут приобретенные знания
Курсы связанных направлений
Сегодня занятий по этому курсу нет.
20 800 ₽
Расчёт стоимости с учётом возможных скидок
26 000 ₽
Скидки предоставляются в зависимости от количества слушателей,
суммы договора и других условий, оговариваемых с Заказчиком.
Расчёт стоимости с учётом возможных скидок представлен как справочная информация.
Фактический размер скидки может несколько отличаться из-за округления значения суммы.
Внимательно ознакомьтесь с условиями действующих
акций и скидок...
Базовые знания принципов построения современных операционных систем общего
назначения и принципов сетевого взаимодействия. Знание и умение программирования
на языке C. Знания и умения реализовать алгоритмы обработки различных структур данных. Владение операционной системой UNIX на уровне опытного пользователя.
Вступительное тестирование
Тест № ФКТ-421 Архитектура UNIX
- Пользовательская учетная запись (УЗ). Атрибуты пользовательской УЗ UNIX. Команды изменения
атрибутов УЗ.
- Первичная и дополнительные группы пользователей.
- Дерево каталогов UNIX. Файловые системы и их монтирование в дерево каталогов. Команды управления деревом каталогов UNIX.
- Типы файлов. Структура дерева каталогов UNIX. Команды управления файлами.
- Владельцы файлов. Права доступа к файлу. Дополнительные атрибуты файла. Команды изменения атрибутов файлов.
- Процессы. Типы процессов. Атрибуты процесса.
- Жизненный путь процесса. Сигналы. Команды управления процессами.
- Подсистема управления заданиями. Команды управления заданиями.
- Парадигма ввода-вывода UNIX. Команды управления вводом и выводом данных.
- Пользовательское окружение. Командный интерпретатор.
- Пользовательский профиль. Настройка окружения командного интерпретатора. Переменные окружения.
- Локализация и интернационализация окружения.
- Основные утилиты UNIX.
- Графический интерфейс UNIX. Настройка окружения графической подсистемы UNIX.
Тест № ВПТ-217 Навыки программирования на языке С и навыки использования основных API ОС UNIX.
Навыки программирования на языке С:
- Знание синтаксиса языка С.
- Умение компилировать программы, написанные на языке С.
- Знания и умения реализовать алгоритмы обработки следующих структур данных:
- массивы и ассоциативные массивы (хэши);
- очереди и стеки;
- односвязные и двусвязные линейные списки;
- структуры и массивы структур;
Навыки использования основных API ОС 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.