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

2016-07-31СтудИзба

Описание файла

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

Онлайн просмотр документа "ref-20761"

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

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

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

На основе спроектированного планировщика с использованием специальной методологии можно будет реализовывать прикладные приложения реального времени. В частности, будет реализован протокол A.415 ARINC, используемый во встроенных системах реального времени самолётов ведущих авиаперевозчиков. Это протокол опроса бортовых устройств, позволяющий в заранее обозначенный промежуток времени получить от них информацию и сигнализировать о неисправности в оборудовании. Такое приложение в наибольшей степени подходит как для анализа прототипа создаваемой СРВ, так и для используемой методологии.

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

Диаграмма 1. Этапы жизненного цикла разработки.

  1. Обзор требований проблемной области.

    1. Особенности систем реального времени.

Для начала стоит дать определение операционных систем реального времени. Оно взято из [13]. Данное определение не является классическим, однако обладает тем преимуществом, что позволяется в общих чертах представить себе отличия ОС, рассматриваемых в данной работе от других аналогичных программ.

Операционные системы реального времени (ОС РВ) — управляющее ПО особого типа, часто используемое для организации работы встроенных компьютерных приложений, для которых характерны ограниченность ресурсов памяти, невысокая производительность, а также требования гарантированного времени отклика, высокого уровня готовности и наличия средств автомониторинга.

А теперь рассмотрим упомянутое в определении более подробно.

      1. Ограниченное время ответа.

По сути, система реального времени - это аппаратно-программный комплекс, реагирующий в предсказуемые времена на непредсказуемый поток внешних событий. Это означает, что:

  • Она должна успеть отреагировать на событие, произошедшее на объекте, в течение времени, критического для этого события (meet deadline). Величина критического времени для каждого события определяется объектом и самим событием, и, естественно, может быть разной, но время реакции системы должно быть предсказано (вычислено) при создании системы. Отсутствие реакции в предсказанное время считается для СРВ ошибкой.

  • Система должна успевать реагировать на одновременно происходящие события. Даже если два или больше внешних событий происходят одновременно, система должна успеть среагировать на каждое из них в течение интервалов времени, критического для этих событий.

По последствиям выхода за пределы интервала СРВ делятся на мягкие и жёсткие.

Системы жесткого реального времени не допускают никаких задержек реакции системы ни при каких условиях, так как:

  • результаты могут оказаться бесполезны в случае опоздания;

  • может произойти катастрофа в случае задержки реакции;

  • стоимость опоздания может оказаться бесконечно велика.

Системы мягкого реального времени характеризуются тем, что задержка реакции не критична, хотя и может привести к увеличинию стоимости результатов и снижению производительности системы в целом.

Основное отличие между системами жесткого и мягкого реального времени можно выразить так: система жесткого реального времени никогда не опоздает с реакцией на событие, система мягкого реального времени - не должна опаздывать с реакцией на событие.

В таблице 3 приведены времена отклика для нескольких ОС РВ.

      1. Статическая основа проектирования.

Кроме того, применение операционных систем реального времени всегда конкретно. Если ОС общего назначения обычно воспринимается пользователями (не разработчиками) как уже готовый набор приложений, то операционная система реального времени служит только инструментом для создания конкретного аппаратно-программного комплекса реального времени.

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

      1. Портирование.

Управление прокатными станами, роботами, движение на автомагистралях, контроль за состоянием окружающей среды, управление атомными и космическими станциями и многое другое - область задач реального времени. Для различных областей применения ОС РВ существуют разные аппаратные платформы и для каждой необходимо портирование, т.е процесс «состыковки» программной части ОС и её аппаратного обеспечения.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5168
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее