Разработка системы реального времени в виде планировщика исполнения заданий (ref-20761)

Посмотреть архив целиком

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾




ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту на тему:



Разработка системы реального времени в виде планировщика

исполнения заданий.






Москва 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. Анализ проводится по результатам пресс-релизов подобных систем, в которых подчёркнуты опции, являющиеся наиболее важными для современных потребителей. Данное исследование позволит установить требования к системам реального времени, востребованные разработчиками в настоящее время, и общие методики удовлетворения этих требований.

В связи с обширностью проблемной области имеет смысл дать основополагающие определения и развёрнутые толкования отдельных терминов, имеющих особую важность. В этой связи будет рассмотрена принципиальная структура систем реального времени и выделена наиболее распространённая и общепризнанная в данный момент.

В данной работе будут рассмотрены подходы к задаче выбора приемлемого алгоритма планирования на основе сведений об алгоритмах, предполагаемой модели задач и структурных характеристик будущей системы. Предполагается выделить алгоритм планирования, ориентированный на разработку программного обеспечения систем контроля реального времени, и использовать его при создании прототипа модуля-диспетчера для заданий реального времени, который будет подключаться к программе пользователя. Данный модуль будет предоставлять интерфейс для формирования заданий с определёнными требованиями ко времени выполнения.


Случайные файлы

Файл
ref-15945.doc
116754.doc
27392.rtf
107321.rtf
16443-1.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.