Опубликована: 05.04.2011 | Уровень: для всех | Стоимость: 3000.00 руб. | Длительность: 14 дней
Основная тема курса - мобильное программирование приложений реального времени, в том числе многопотоковых. Основой обеспечения мобильности является новая редакция стандарта на интерфейс операционной системы POSIX. Рассматриваются приемы и методы программирования приложений на основе данного стандарта. Приводятся многочисленные примеры программ.
Настоящий курс является продолжением курса Программирование в стандарте POSIX. В принципе, разделение единой темы "Программирование в стандарте POSIX" на две части носит скорее технический, чем принципиальный характер, однако у второй части есть свой стержень - мобильное программирование приложений реального времени. Обеспечение мобильности программного обеспечения - задача исключительной важности и сложности. Для приложений реального времени она важна и сложна вдвойне. Важность проистекает из многочисленности подобных систем и ответственности решаемых ими задач. Сложность является следствием разнообразия и частой смены аппаратных платформ, а также того обстоятельства, что в понятие семантической корректности входит дополнительный компонент - соблюдение временных ограничений. По сравнению с предыдущими редакциями, стандарт POSIX-2001 существенно расширен средствами программирования систем реального времени. Их изучение представляется весьма актуальным, способным оказать существенную помощь разработчикам приложений. Основной структурной единицей приложения реального времени является поток управления. Потоки стали первой темой настоящего курса. Средства их синхронизации - тема номер два. Среди рассматриваемых механизмов - мьютексы, условные переменные, блокировки чтение-запись, спин-блокировки и барьеры. К средствам межпотокового взаимодействия можно отнести сигналы реального времени, очереди сообщений, семафоры. Объекты в памяти - это и инструмент повышения эффективности приложений, и средство передачи данных между их компонентами. Стандарт POSIX-2001 позволяет добиться мобильности даже для традиционно немобильных подсистем работы с типизированной памятью. Разумеется, в число рассматриваемых в курсе тем вошло приоритетное планирование. Здесь особый интерес представляет политика спорадического планирования, необходимая для работы в реальном, насыщенном событиями окружении. Приложения реального времени сложно не только разрабатывать, но и отлаживать. Для решения этой проблемы в стандарте POSIX-2001 предусмотрен механизм трассировки, который целесообразно применять и на этапе эксплуатации приложений.
Цель: Цель курса - ознакомиться с фундаментальным стандартом в области программирования, изучить приемы и методы создания мобильных приложений, в том числе приложений реального времени, на основе данного стандарта.
Необходимые знания: Требуется знание основ современной технологии программирования, языка программирования C, структуры и функций современных операционных систем.

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
2 часа 21 минута
Потоки управления
Рассматриваются основные идеи, понятия и объекты, ассоциированные с потоками управления, атрибуты потоков, средства их опроса и изменения, работа с индивидуальными данными потоков, средства создания и терминирования потоков управления.
-
Тест 1
15 минут
-
Лекция 2
2 часа 14 минут
Средства синхронизации потоков управления
Анализируются основные идеи, понятия и объекты, обслуживающие синхронизацию потоков управления. Среди механизмов синхронизации выделяются мьютексы, переменные условия, блокировки чтение-запись, спин-блокировки и барьеры.
-
Тест 2
15 минут
-
Лекция 3
2 часа
Мобильное программирование приложений реального времени
Анализируются основные идеи, понятия и объекты, обслуживающие мобильные приложения реального времени. Детально рассматриваются одношаговое порождение процессов, сигналы реального времени, часы и таймеры.
-
Тест 3
15 минут
-
Лекция 4
1 час 18 минут
Средства межпроцессного взаимодействия в реальном времени
Рассматриваются средства локального межпроцессного взаимодействия в реальном времени - очереди сообщений, семафоры, разделяемые сегменты памяти.
-
Тест 4
15 минут
-
Лекция 5
1 час 10 минут
Объекты в памяти
Анализируются основные идеи и понятия, обслуживающие отображение объектов в адресное пространство процессов. Детально рассматриваются файлы, отображенные в память, объекты в разделяемой и типизированной памяти, а также средства удержания процессов в памяти.
-
Тест 5
15 минут
-
Лекция 6
1 час 5 минут
Приоритетное планирование
Рассматриваются основные идеи и понятия приоритетного планирования. Описываются политики и параметры планирования, функции управления планированием, анализируется их влияние на поведение процессов и потоков управления. Затрагивается проблема инверсии приоритетов.
-
Тест 6
15 минут
-
Лекция 7
1 час 6 минут
Асинхронный ввод/вывод, рекомендательные интерфейсы
Представлены основные идеи, понятия и объекты асинхронного ввода/вывода и рекомендательных интерфейсов. Детально рассмотрены соответствующие функции. Приведены примеры применения средств асинхронного ввода/вывода и рекомендательных интерфейсов.
-
Тест 7
15 минут
-
Лекция 8
2 часа 5 минут
Трассировка пользовательских приложений
Представлены основные идеи, понятия и объекты, ассоциированные с трассировкой пользовательских приложений. Обращено внимание на особенности трассировки приложений реального времени. Детально рассмотрены функции трассировки.
-
Тест 8
15 минут
-
Лекция 9
3 часа 29 минут
Технологические интерфейсы
Рассматриваются функции и служебные программы, играющие технологическую роль – функции и утилиты для работы с системным журналом, функции для организации баз данных, средства поиска и сортировки, манипулирования пользовательскими контекстами, управления средой вещественной арифметики, обхода иерархии файлов и т.п.
-
Тест 9
15 минут
-
Лекция 10
1 час 40 минут
-
Тест 10
15 минут
-
Дополнительный материал 1
1 час 4 минуты
-
Дополнительный материал 2
1 час 8 минут
-
5 часов
-