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

1.5.2.   Разработка программного обеспечения систем реального времени

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

Как показывает практика, прямые ветки сложных алгоритмов достаточно удобно и наглядно определять с помощью сценариев. На начальных этапах разработки системы нужно четко определить логику всех взаимодействий. При этом правила поведения системы в ошибочных ситуациях в большинстве случаев можно доработать позднее. По сценариям можно сгенерировать STD- или SDL-диаграммы и продолжить создание спецификаций уже в этом стиле, учитывая все допустимые варианты поведения системы.

В терминах Real основной структурной единицей системы реального времени является объект. Объекты взаимодействуют друг с другом через интерфейсы. Под взаимодействием понимается посылка сообщений, вызов методов и обращение к атрибутам интерфейса. Поскольку в последнее время все большее число систем реального времени становятся распределенными и сетевыми, понятие интерфейса приобретает особую важность. Раньше ситуация была иной, примером чего служат ранние версии языка SDL, в которых интерфейсы отсутствовали. Интерфейсы Real сильно отличаются от портов (gate) SDL (составом, способом связи с классами) и интерфейсов UML (составом, способом связи с классами, способом изображения), а также интерфейсов в ROOM (составом и способом изображения).

В системах реального времени важную роль играют абстракции точек входа и выхода у различных компонент программного обеспечения. Поэтому в модель классов Real был добавлен из ROOM специальный элемент — порт.

Компонента программного обеспечения, определенная в виде класса с портами и интерфейсами, может иметь конечно-автоматное поведение, описываемое в терминах поведенческой модели Real. Поведенческая модель, в свою очередь, представляется двумя альтернативными нотациями: первая основана на варианте STD, представленном в ROOM, вторая — на расширенном конечном автомате SDL. С помощью STD-нотации удобно определять поведение компонент системы на ранних этапах разработки: множество мелких деталей можно временно убрать из поля зрения. В то же время на SDL-диаграммах можно наглядно изобразить мельчайшие подробности алгоритмов.

Эта возможность становится полезной на поздних этапах проектирования. При этом информацию, изображенную на STD-диаграммах, можно ”загрузить” на SDL-диаграммы, таким образом, результаты ранних этапов при переходе к более формальной спецификации не будут потеряны. В рамках Real, STD и SDL нотации предназначены для описания единой поведенческой модели, так что всегда возможно и обратное — загрузка на STD-диаграмму результатов работы с SDL-редактором. На поведенческую модель Real сильно повлияла технология SDL/PLUS 20: так же не используются типы данных и выражения SDL, но применяется более гибкая стратегия связи с языками реализации [7] вместо заранее фиксированного языка [11].

1.5.3.   Вывод.

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

1.6. Постановка задачи курсового проекта.

Перед созданием программной системы реального времени был проведен анализ действующих в данный момент разработок данного направления. Он показал, что существующий спектр ОС может обеспечить все потребности задач реального времени. Выбор системы (если абстрагироваться от цены, условий поставки и т.д.) диктуется только тем обстоятельством, удовлетворяет ли она условиям стоящей задачи. Например, если необходима хорошая операционная поддержка сетевых средств, то целесообразно использовать QNX - многозадачную операционную систему жесткого реального времени с архитектурой на основе микроядра. Если необходима очень высокая скорость реакции системы, можно использовать VxWorks. В данной работе при создании очень небольшой, не слишком сложной, встроенной прикладной программы было решено ориентироваться LynxOS, относящуюся к классу Unix’ов реального времени.

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

Главный же вывод состоит в том, что любая задача реального времени требует операционной поддержки реального времени, и иные системные решения при этом неприемлемы. На основе ОС общего назначения UNIX, ориентированной на оптимальное распределение ресурсов компьютера между пользователями и задачами (система разделения времени) будет создана программная разработка планировщика задач, в котором главной целью является успеть среагировать на происходящие события в жестко заданный интервал времени (система реального времени).

На основе планировщика будет реализован протокол, требующий поддержки реального времени. Для проектирования его реализации будет использована объектно-ориентированная методология. Такая методология характеризует скорее подход к планированию приложения, чем используемые средства языка, т.к. в авиационных системах, к которым и принадлежит реализуемый протокол A415 ARINC, не разрешено использование памяти из «кучи». В то время как динамическое выделение памяти является немаловажной частью использования языков, подобных C++ или Java.

2.     Модели и методы предметной области.

2.1.  Определения.

Сначала рассмотрим основное определение, вокруг которого и построена данная работа. Оно дано американским учёным Дональдом Гиллисом (Donald Gillies).

·        Система реального времени – это система, в которой правильность вычислений зависит не только от логической корректности результата, но и от времени, в течение которого этот результат получен. Система работает неверно, если ее временные параметры не соответствуют заданным.

Рассмотрим простейшие определения, используемые в данной отрасли знаний. Приведено их неформальное определение, которое преследует своей целью дать общее представление об используемых терминах и уточнить подразумеваемое под ними в данной работе значение.

·        Состояние — стабильное положение объекта, когда он готов к принятию запросов на взаимодействие со стороны других объектов. С состоянием может быть связана некоторая деятельность объекта (например, входная и выходная). Состояние может быть сложным, т.е. содержать подсостояния.

·        Событие — получение сообщения или окончание срока действия таймера.

·        Действие — посылка сообщения, установка таймера, блок кода на целевом языке.

·        Время прибытия задачи – время, когда возникает необходимость в выполнении данной задачи.

·        Вызов задачи – начало выполнения данной задачи после прибытия.

·        Планировщик – механизм, который определяет, какой результат должен быть вычислен и в какое время. Результат работы планировщика называется расписанием.

·        Политикой планирования (или управления) называется набор правил, которые определяют то, как планировщик выбирает следующий процесс для запуска, как образуется очередь процессов на выполнение и сколько времени выделяется каждому процессу на выполнение.

Определения, непосредственно затрагивающие специфику данной работы.

·        Масштабируемая ОС – операционная система, характеризующаяся высоким уровнем модульности, при котором отдельные функции системы можно динамически отключать/подключать без ущерба для общей функциональности системы. Такая ОС в зависимости от решаемой задачи, может быть установлена как на FLASH-носитель, так и на гигабайтный жесткий диск.

·        Микроядерная ОС – операционная система, в основу архитектуры которой положена специальная часть исполняемого кода – микроядро, реализующее базовые функции.

·        Многопользовательская ОС – операционная система, ориентированная на одновременную работу с несколькими пользователями.

·        Многозадачная ОС – операционная система, ориентированная на параллельное выполнение системой нескольких задач. Истинно многозадачной ОС может быть только при наличии более чем одного микропроцессора, но современные операционные системы обладают приемлемыми механизмами обеспечения псевдопараллельной работы.

·        Сетевая ОС – операционная система, ориентированная не только на работу с использованием ресурсов своего аппаратного обеспечения, но и на взаимодействие с удалёнными ресурсами с использование специальных протоколов.

2.2.  Принципиальная структура.

2.2.1.   Среда исполнения.

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

·        небольшая память системы - для возможности ее встраивания;

·        система должна быть полностью резидентна в памяти, чтобы избежать замещения страниц памяти или подкачки;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.