Файл: Курс лекций по дисциплине СРВ (Артемов СП).pdf

Добавлен: 15.11.2018

Просмотров: 10820

Скачиваний: 12

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

46 

В этом документе мы в первую очередь касаемся жестких систем 

реального времени, поэтому физическая архитектура фокусируется на 

распределении  времени  и  необходимой  планировке,  что  будет 

гарантировать,  что  однажды  построенная  система  будет  работать 

корректно  и  по  данным,  и  по  времени.  Чтобы  провести  этот  анализ, 

необходимо  оценить  время  исполнения  имеющегося  кода,  получить 

зависимости  по  времени  целевого  процессора  и  другие  параметры 

среды исполнения. 

Когда архитектурные фазы закончены, можно начинать серьезное 

планирование  деталей  проекта.  Когда  это  будет  сделано,  нужно 

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

верхние оценки времени выполнения в самом деле корректны. Если же 

это  не  так  (что  обычно  имеет  место  для  новых  приложений),  фаза 

физической  архитектуры  пересматривается  и  обновляется.  Если  же 

все-таки  система  не  реализуется,  тогда  либо  должны  быть 

пересмотрены  детали  проекта  (при  небольших  отклонениях),  или 

разработчик  должен  вернуться  к  фазе  логической  архитектуры  (при 

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

тестирование  приложения.  Оно  должно  включать  действительные 

распределения времени по коду. 

Логическая архитектура 

Существует два аспекта любого метода проектирования, которые 

облегчают создание логической архитектуры жестких систем реального 

времени.  Во-первых,  абстракции  должна  быть  дана  конкретная 

поддержка,  что,  как  правило,  и  нужно  проектировщикам  систем.  Во-

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

условием,  чтобы  возможно  было  ее  анализировать  во  время 

проектирования физической архитектуры.  


background image

47 

Результатом 

иерархического 

разделения 

в 

ходе 

фазы 

логического  планирования  является  коррекция  конечных  объектов  с 

полным  определением  их  взаимодействием.  Предполагается,  что 

некоторые  формы  процесса  функционального  разделения  могут 

приводить к определению новых объектов. 

Конечные объекты характеризуются как: 

циклические;  

единичные;  

защищенные;  

пассивные.  

Циклические  и  единичные  действия  являются  обычными  в 

системах реального времени; каждое из них должен содержать поток, 

который  создается  во  время  выполнения.  Приоритет  потока 

устанавливается  во  время  планировки  в  фазе  физической 

архитектуры.  Защищенные  объекты  управляют  доступом  к  данным, 

которые доступны нескольким потокам (т.е. циклическим и единичным 

объектам); в частности, они предусматривают взаимное исключение. В 

однопроцессорных  системах  это  достигается  определением  верхнего 

приоритета  для  каждого  защищенного  объекта,  который  равен 

максимальному  количеству  потоков,  использующих  его.  Когда  поток 

обращается к защищенному объекту, он начинает работать с верхним 

приоритетом  и,  следовательно,  получает  исключительный  доступ  к 

данным,  хранимым  в  защищенном  объекте.  Защищенные  объекты 

подобны  перехватчикам,  в  которых  вызывающий  может  быть 

заблокирован,  если  условия  не  позволяют  ему  продолжить.  Это 

используется  для  задержки  единичных  объектов,  пока  не  произойдет 

освобождающее  событие.  Последним  важным  типом  объектов 

является  пассивный.  Он  используется  для  объекта,  который  или 


background image

48 

используется  только  одним  объектом,  или  может  использоваться 

совместно без ошибок. 

Все  четыре  вышеуказанных  типа  объектов  приемлемы  как 

конечные  объекты  в  жестких  системах  реального  времени.  Однако 

возможно, что система реального времени имеет подсистему, которая 

не  является  системой  реального  времени.  Объекты  в  таких 

подсистемах  являются  пассивными  или  активными.  Активные  типы 

объектов могут участвовать в разделении главной системы, но должны 

быть  трансформированы  в  один  из  вышеуказанных  типов  до 

достижения конечного уровня. 

С помощью этих типов конечных объектов могут поддерживаться 

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

реального времени: 

Периодические  действия  -  представляется  циклическими 

объектами.  

Единичные  действия  -  представляется  единичными 

объектами.  

Действия,  обусловленные  приоритетом  -  влекут  серии 

вычислений  на  конечных  объектах.  Вероятно  появление  в  проектах, 

которые должны отражать транзакционные сроки.  

Процесс планирования логической архитектуры может начаться с 

разработки  активных  и  пассивных  объектов.  Процесс  разделения 

приведет  к  разработке  конечных  объектов  соответствующего 

характера.  Например,  требуемая  циклическая  транзакция  от  входа  к 

выходу  может  быть  сначала  представлена  как  единичный  активный 

объект,  но  потом  может  быть  реализована  как  циклический  объект  с 

последующими 

сериями 

единичных 

объектов, 

связанных 

защищенными объектами. 


background image

49 

Наложение на проект условий для анализа 

Чтобы  иметь  возможность  анализировать  весь  проект, 

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

связаны со связью или синхронизацией между объектами. 

1. 

Циклические  и  единичные  объекты  не  могут  выполнять 

произвольные  операции  блокировки  в  других  циклических  или 

единичных объектах.  

2. 

Циклические  и  случайные  объекты  могут  выполнять 

асинхронную передачу операций управления в другие циклические или 

единичные объекты.  

3. 

Защищенные  объекты  не  могут  выполнять  операции 

блокировки в любых других объектах.  

Пункты 1 и 2 требуют, чтобы циклическим и единичным объектам 

было  разрешена  только  связь  через  посылку  полностью  асинхронных 

сообщений или защищенные объекты. 

Любой метод проектирования систем реального времени должен 

учитывать  эти  условия  в  процессе  планирования  логической 

архитектуры. 

Физическая архитектура 

Основное  внимание  в  физической  архитектуре  уделяется 

требованиям  к  распределению  времени.  Процесс  проектирования 

должен поддерживать формирование физической архитектуры через: 

1. 

Возможность  ассоциирования  атрибутов  распределения 

времени с объектами. 

2. 

Обеспечение такой внутренней структуры, в которой может 

быть предпринята планировка конечных объектов.  

3. 

Создание  абстракции,  с  помощью  которой  проектировщик 

может контролировать ошибки распределения времени.  


background image

50 

Физический  план  должен  быть  осуществлен  в  контексте  среды 

исполнения.  Это  гарантируется  планировкой.  Вопросы  надежности 

также должны быть рассмотрены в этой фазе. 

Атрибуты объектов 

Все  конечные  объекты  обладают  ассоциированными  с  ними 

атрибутами  реального  времени.  Многие  атрибуты  связаны  с 

отображением на логический план требований распределения времени 

(например, срок, важность). Они должны быть установлены до того, как 

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

Каждый  циклический  или  единичный  объект  имеет  некоторое 

количество временных атрибутов. Например: 

Период исполнения для каждого циклического объекта.  

Минимальный  интервал  проявления  для  единичного 

объекта.  

Сроки для всех циклических и единичных действий.  

Различаются  две  формы  сроков.  Одна  применяется  прямо  к 

единичному или циклическому действию. Другая применяется к ранее 

обусловленному  действию  (транзакции).  Сроки  для  других  действий 

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

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

Для  планировки  нужно  знать  верхнюю  оценку  времени 

исполнения каждого потока и все операции (во всех  объектах). После 

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

соответствующие  атрибуты.  Чем  лучше  оценки,  тем  точнее 

планировка.  Хорошие  оценки  могут  быть  получены  при  повторном 

использовании  компонент  или  из  аргументов  сравнения  (с 

существующими  компонентами  других  проектов).  В  процессе 

детального  проектирования  и  кодирования,  а  также  при  прямом