ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовому проекту на тему:
Разработка системы реального времени в виде планировщика |
исполнения заданий. |
Москва 2004
Реферат.
Проделана работа по проектированию системы реального времени. Созданная система содержит два основных компонента: планировщик задач реального времени и прикладное приложение – протокол A.415 ARINC. Работа содержит 39 страниц, 14 диаграмм, 3 таблицы и 2 рисунка. Использовано 13 ссылок на техническую литературу.
Раздел 1. Описываются отличия систем реального времени от обычных систем (разделения времени). Приведены характерные особенности управления задачами в подобных системах. Проведены классификация и анализ требований, предъявляемых к современным СРВ. Даны примеры систем данного класса (представленных в России). Рассмотрена необходимость использования специальной методологии разработки программного обеспечения.
Раздел 2. Заданы определения, используемые в данной работе. Рассмотрена принципиальная структура СРВ. Приведена классификация подходов к планированию и обзор методов его реализации. Рассмотрена объектно-ориентированная методология разработки программного обеспечения.
Раздел 3. Описана реализация планировщика задач реального времени: достигаемые возможности, используемые алгоритмы, общая схема функционирования. Приведена документация по приложению-протоколу, составленная в соответствии с требованиями методологии Real.
Содержание.
Реферат.. 2
Содержание.. 3
Введение.. 5
1. Обзор требований проблемной области.. 7
1.1. Особенности систем реального времени.. 7
1.1.1. Ограниченное время ответа.. 7
1.1.2. Статическая основа проектирования.. 7
1.1.3. Портирование.. 8
1.1.4. Встроенные системы реального времени.. 8
1.1.5. Вывод.. 9
1.2. Особенности управления задачами.. 9
1.2.1. Управление временем.. 9
1.2.2. Управление памятью.. 9
1.2.3. Управление доступом (синхронизация).. 9
1.2.4. Вывод.. 10
1.3. Классификация систем реального времени.. 10
1.3.1. Классификация по структурным характеристикам.. 10
1.3.1.1. Исполнительные системы реального времени. 10
1.3.1.2. Ядра реального времени.. 11
1.3.1.3. UNIX'ы реального времени.. 11
1.3.2. Классификация по программной среде.. 12
1.3.2.1. Программирование на уровне микропроцессоров. 12
1.3.2.2. Минимальное ядро системы реального времени. 12
1.3.2.3. Ядро системы реального времени и инструментальная среда. 12
1.3.2.4. ОС с полным сервисом. 12
1.3.3. Технические характеристики ОС РВ.. 12
1.3.3.1. Время реакции системы. 12
1.3.3.2. Время переключения контекста. 13
1.3.3.3. Размеры системы. 13
1.3.3.4. Возможность исполнения системы из ПЗУ (ROM). 14
1.3.4. Вывод.. 14
1.4. Современные представители рынка ОС РВ в России.. 14
1.4.1. LynxOS® 4.x фирмы LinuxWorks, Inc.. 14
1.4.1.1. Основные свойства LynxOS:. 14
1.4.1.2. Поддержка приложений жёсткого реального времени. 15
1.4.2. OS-9/Hawk фирмы Microware Systems.. 15
1.4.2.1. Основные свойства OS-9/Hawk. 15
1.4.2.2. Поддержка приложений жёсткого реального времени. 16
1.4.3. VxWorks фирмы Wind River Systems.. 16
1.4.3.1. Основные свойства VxWorks. 16
1.4.4. QNX4 фирмы ОРАКУЛ.. 17
1.4.4.1. Основные свойства QNX4. 17
1.4.4.2. Поддержка приложений жёсткого реального времени. 17
1.4.5. Вывод.. 17
1.5. Методология разработки программного обеспечения.. 17
1.5.1. История развития.. 18
1.5.2. Разработка программного обеспечения систем реального времени.. 18
1.5.3. Вывод.. 19
1.6. Постановка задачи курсового проекта.. 19
2. Модели и методы предметной области.. 21
2.1. Определения.. 21
2.2. Принципиальная структура.. 22
2.2.1. Среда исполнения.. 22
2.2.2. Ядро систем реального времени.. 22
2.2.2.1. Синхронизация ресурсов. 23
2.2.2.2. Межзадачный обмен. 23
2.2.2.3. Разделение данных. 23
2.2.2.4. Обработка запросов внешних устройств. 23
2.2.2.5. Обработка особых ситуаций. 23
2.2.3. Пикоядро.. 24
2.3. Методы управления задачами в ОС РВ.. 24
2.3.1. Классификация подходов.. 24
2.3.1.1. Статическое планирование. 24
2.3.1.2. Динамическое планирование. 24
2.3.1.3. Планирование, основанное на времени. 25
2.3.1.4. Планирование апериодических задач. 25
2.3.1.5. Планирование, управляемое приоритетами. 25
2.3.2. Обзор методов.. 26
2.3.2.1. Rate-monotonic (RM). 26
2.3.2.2. Deadline Monotonic (DM). 26
2.3.2.3. Планирование апериодических задач. 27
2.3.2.4. EDF. 27
2.3.2.5. Сервер, допускающий задержку (DS) и Алгоритм обмена приоритетами (PE). 28
2.4. Методология разработки программного обеспечения.. 28
2.4.1. Основы методологии Real.. 28
2.4.2. Модель требований.. 29
2.4.3. Динамическая модель.. 29
2.4.4. Статическая модель.. 30
3. Реализация прототипа системы реального времени.. 31
3.1. Жизненный цикл разработки.. 31
3.2. Планировщик заданий.. 31
3.2.1. Выбор алгоритма планирования.. 31
3.2.1.1. Виды требований РВ, поддерживаемые планировщиком. 31
3.2.1.2. Используемые алгоритмы. 32
3.2.2. Описание функционирования приложения.. 33
3.2.2.1. Подготовка к запуску планировщика. 33
3.2.2.2. Работа. 33
3.2.2.3. Управление задачами. 34
3.3. Реализация протокола ARINC A.415 на основе разработанного модуля СРВ. 34
3.3.1. Модель требований к системе.. 34
3.3.1.1. Описательная модель. 34
3.3.1.2. Модель случаев использования. 35
3.3.1.3. Функциональная модель. 35
3.3.2. Динамическая модель.. 35
3.3.2.1. Модель объектов. 35
3.3.2.2. Модель взаимодействий. 35
3.3.2.3. Поведенческая модель. 36
3.3.3. Статическая модель.. 37
3.3.3.1. Модель классов. 37
Заключение.. 39
Литература.. 40
Приложение.. 41
Введение.
Новый этап научно-технической революции был обусловлен повсеместным распространением вычислительной техники. Сейчас уже трудно найти вид деятельности, который тем или иным способом не поддерживался бы не просто автоматизированными, но и компьютеризированными устройствами. Такая организация жизнедеятельности позволяет не только выполнять заранее заданные алгоритмы управления производством, но и вносить в него элементы автоматизации интеллектуальной деятельности, элементы искусственного интеллекта. Использование таких технологий в жизненно важных отраслях, таких как авиация, банковское дело и других, требующих жёстко заданных требований к принятию решений, накладываемых на время, точность и безопасность деятельности данных систем, обуславливает необходимость создания особо надежных их видов – систем реального времени.
Управление процессом предоставления ресурсов системы задачам, нитям, процедурам обработки прерываний и т.д. является одной из основных функций любой операционной системы и осуществляется при помощи такого механизма, как планирование. Данный механизм обеспечивает системе возможность параллельного выполнения нескольких задач. В системах реального времени планирование должно также гарантировать предсказуемое поведение, безопасность, возможность длительной, безотказной работы, выполнение задач к поставленному сроку. От метода планирования во многом зависит успешная работа системы в целом.
С другой стороны, увеличение объемов производства и разнообразия средств микропроцессорной техники, расширение сфер их применения приводит к необходимости разработок различных операционных систем реального времени - от компактных, рассчитанных на обслуживание одночиповых микро-контроллеров, до мощных сетевых систем. Путь к удовлетворению требований высокой эффективности и надежности этих систем лежит через повышение ясности и стройности их логической организации.
Это обстоятельство выдвигает актуальные задачи разработки рационально организованных базовых структур, которые представляли бы в обобщенном виде ключевые принципы организации вариантов операционных систем, ориентированных на достижение того или иного типа эффективности. Для этой цели выдвигаются различные методологии разработки соответствующих систем. Особенную актуальность приобрели объектно-ориентированные методологии, опирающаяся на выгоды разработки при помощи объектных языков высокого уровня (в частности, С++).
В данной работе необходимо будет провести анализ предметной области ОС РВ. В виде фокус-группы логично было бы выбрать встраиваемые системы реального времени, предлагаемые в данный момент на рынке программного обеспечения России, сведения по которым размещены в сети Internet. Анализ проводится по результатам пресс-релизов подобных систем, в которых подчёркнуты опции, являющиеся наиболее важными для современных потребителей. Данное исследование позволит установить требования к системам реального времени, востребованные разработчиками в настоящее время, и общие методики удовлетворения этих требований.
В связи с обширностью проблемной области имеет смысл дать основополагающие определения и развёрнутые толкования отдельных терминов, имеющих особую важность. В этой связи будет рассмотрена принципиальная структура систем реального времени и выделена наиболее распространённая и общепризнанная в данный момент.
В данной работе будут рассмотрены подходы к задаче выбора приемлемого алгоритма планирования на основе сведений об алгоритмах, предполагаемой модели задач и структурных характеристик будущей системы. Предполагается выделить алгоритм планирования, ориентированный на разработку программного обеспечения систем контроля реального времени, и использовать его при создании прототипа модуля-диспетчера для заданий реального времени, который будет подключаться к программе пользователя. Данный модуль будет предоставлять интерфейс для формирования заданий с определёнными требованиями ко времени выполнения.
На основе спроектированного планировщика с использованием специальной методологии можно будет реализовывать прикладные приложения реального времени. В частности, будет реализован протокол A.415 ARINC, используемый во встроенных системах реального времени самолётов ведущих авиаперевозчиков. Это протокол опроса бортовых устройств, позволяющий в заранее обозначенный промежуток времени получить от них информацию и сигнализировать о неисправности в оборудовании. Такое приложение в наибольшей степени подходит как для анализа прототипа создаваемой СРВ, так и для используемой методологии.
При проектировании реализации протокола основной акцент планируется сделать на принципах его функционирования, соответствии заявленным требованиям и достигаемом уровне надёжности. Аппаратные требования, предъявляемые к используемому оборудованию, и, в целом, проблемы портирования рассмотрены не будут. В дальнейшем при претворении проекта в жизнь возможен анализ этих параметров для оптимизации вычислений в наиболее ресурсоёмких точках работы планировщика.
Диаграмма 1. Этапы жизненного цикла разработки.
1. Обзор требований проблемной области.
1.1. Особенности систем реального времени.
Для начала стоит дать определение операционных систем реального времени. Оно взято из [13]. Данное определение не является классическим, однако обладает тем преимуществом, что позволяется в общих чертах представить себе отличия ОС, рассматриваемых в данной работе от других аналогичных программ.
Операционные системы реального времени (ОС РВ) — управляющее ПО особого типа, часто используемое для организации работы встроенных компьютерных приложений, для которых характерны ограниченность ресурсов памяти, невысокая производительность, а также требования гарантированного времени отклика, высокого уровня готовности и наличия средств автомониторинга.
А теперь рассмотрим упомянутое в определении более подробно.
... элементов, глобальное пространство имен, а также лавинообразную первоначальную загрузку сети. Таким образом ОСРВ SPOX имеет необходимые механизмы для создания отказоустойчивой распределенной операционной системы реального времени, концепция построения которой описана в главе 2. 4.3 Аппаратно-зависимые компоненты ОСРВ Модули маршрутизации, реконфигурации, голосования реализованы как аппаратно- ...
... запрошенный ею ресурс, произошло связанное с ней внешнее событие, исчерпался заданный интервал времени и т. п. Заканчивая рассмотрение основных принципов планирования задач, необходимо отметить, что тема эта далеко не исчерпана. Диапазон систем реального времени весьма широк, начиная от полностью статических систем, где все задачи и их приоритеты заранее определены, до динамических систем, где ...
... же порты ввода-вывода или линии запроса прерывания. С такими проблемами, как конфликты различных частей аппаратуры, приходится иметь дело в основном именно операционным системам. Наконец, в-восьмых, при разработке операционных систем часто учитывается необходимость совместимости с предыдущей версией операционной системы. Система может иметь множество ограничений на длину слов, имена файлов и т. ...
... заявить, что все его ресурсы доступны для всех пользователей группы. Такая схема может быть многоуровневой (группы делятся на подгруппы и т.д.) с соответственным распределением прав и возможностей. Сейчас появляются операционные системы, в которых права доступа могут определяться не только такой иерархической структурой, но и могут быть более сложными, т. е. права доступа можно добавлять, нарушая ...
0 комментариев