|
|||||||
|
|
Автор: В.А. Галатенко
Информация о курсе
Основная тема курса - мобильное программирование приложений реального времени, в том числе многопотоковых. Основой обеспечения мобильности является новая редакция стандарта на интерфейс операционной системы POSIX. Рассматриваются приемы и методы программирования приложений на основе данного стандарта. Приводятся многочисленные примеры программ. Настоящий курс является продолжением курса Программирование в стандарте POSIX. В принципе, разделение единой темы "Программирование в стандарте POSIX" на две части носит скорее технический, чем принципиальный характер, однако у второй части есть свой стержень - мобильное программирование приложений реального времени. Обеспечение мобильности программного обеспечения - задача исключительной важности и сложности. Для приложений реального времени она важна и сложна вдвойне. Важность проистекает из многочисленности подобных систем и ответственности решаемых ими задач. Сложность является следствием разнообразия и частой смены аппаратных платформ, а также того обстоятельства, что в понятие семантической корректности входит дополнительный компонент - соблюдение временных ограничений. По сравнению с предыдущими редакциями, стандарт POSIX-2001 существенно расширен средствами программирования систем реального времени. Их изучение представляется весьма актуальным, способным оказать существенную помощь разработчикам приложений. Основной структурной единицей приложения реального времени является поток управления. Потоки стали первой темой настоящего курса. Средства их синхронизации - тема номер два. Среди рассматриваемых механизмов - мьютексы, условные переменные, блокировки чтение-запись, спин-блокировки и барьеры. К средствам межпотокового взаимодействия можно отнести сигналы реального времени, очереди сообщений, семафоры. Объекты в памяти - это и инструмент повышения эффективности приложений, и средство передачи данных между их компонентами. Стандарт POSIX-2001 позволяет добиться мобильности даже для традиционно немобильных подсистем работы с типизированной памятью. Разумеется, в число рассматриваемых в курсе тем вошло приоритетное планирование. Здесь особый интерес представляет политика спорадического планирования, необходимая для работы в реальном, насыщенном событиями окружении. Приложения реального времени сложно не только разрабатывать, но и отлаживать. Для решения этой проблемы в стандарте POSIX-2001 предусмотрен механизм трассировки, который целесообразно применять и на этапе эксплуатации приложений.
Цель
Цель курса - ознакомиться с фундаментальным стандартом в области программирования, изучить приемы и методы создания мобильных приложений, в том числе приложений реального времени, на основе данного стандарта.
Предварительные знания
Требуется знание основ современной технологии программирования, языка программирования C, структуры и функций современных операционных систем.
1.
Рассматриваются основные идеи, понятия и объекты, ассоциированные с потоками управления, атрибуты потоков, средства их опроса и изменения, работа с индивидуальными данными потоков, средства создания и терминирования потоков управления.
2.
Анализируются основные идеи, понятия и объекты, обслуживающие синхронизацию потоков управления. Среди механизмов синхронизации выделяются мьютексы, переменные условия, блокировки чтение-запись, спин-блокировки и барьеры.
3.
Анализируются основные идеи, понятия и объекты, обслуживающие
мобильные приложения реального времени. Детально рассматриваются
одношаговое порождение процессов, сигналы реального времени, часы и
таймеры.
4.
Рассматриваются средства локального межпроцессного взаимодействия в реальном времени - очереди сообщений, семафоры, разделяемые сегменты памяти.
5.
Анализируются основные идеи и понятия, обслуживающие отображение объектов в адресное пространство процессов. Детально рассматриваются файлы, отображенные в память, объекты в разделяемой и типизированной памяти, а также средства удержания процессов в памяти.
6.
Рассматриваются основные идеи и понятия приоритетного планирования.
Описываются политики и параметры планирования, функции управления
планированием, анализируется их влияние на поведение процессов и
потоков управления. Затрагивается проблема инверсии приоритетов.
7.
Представлены основные идеи, понятия и объекты асинхронного ввода/вывода и рекомендательных интерфейсов. Детально рассмотрены соответствующие функции. Приведены примеры применения средств асинхронного ввода/вывода и рекомендательных интерфейсов.
8.
Представлены основные идеи, понятия и объекты, ассоциированные с трассировкой пользовательских приложений. Обращено внимание на особенности трассировки приложений реального времени. Детально рассмотрены функции трассировки.
9.
Рассматриваются функции и служебные программы, играющие технологическую роль – функции и утилиты для работы с системным журналом, функции для организации баз данных, средства поиска и сортировки, манипулирования пользовательскими контекстами, управления средой вещественной арифметики, обхода иерархии файлов и т.п.
Дополнительные материалы
|
![]() |
|
|
|||
|
|||
|
Курсы |
Учебные программы |
Учебники |
Вопросы и Ответы |
Форум |
Новости |
Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование, 2003-2010 |
|
Проект Издательства "Открытые Системы". Партнеры: РМ Телеком, KRAFTWAY COMPUTERS. |
|