Главная страница

Тема 1_Введение в системы реального времени. 1. Введение в системы реального времени Определения систем реального времени


Скачать 0.52 Mb.
Название1. Введение в системы реального времени Определения систем реального времени
Дата25.02.2023
Размер0.52 Mb.
Формат файлаpdf
Имя файлаТема 1_Введение в системы реального времени.pdf
ТипДокументы
#955081

9
1.
Введение в системы реального
времени
1.1.
Определения систем реального времени
Понятия «реальное время», «операционные системы ре- ального времени» известны всем, но толкуются они часто по- разному и спектр этих толкований очень широк. Количество ил- люзий и мифов в мире реального времени велико. Прежде чем перейти к их рассмотрению необходимо дать понятие определе- нию параллельные системы.
Программные системы, которые по своему назначению должны обрабатывать одновременные события или управлять одновременно выполняемыми операциями, инициируемыми внешними по отношению к ним программами или пользовате- лями, являются параллельными по своей природе [1].
К параллельным системам относятся:
Системы реального времени (СРВ) и встроенные системы
(специального назначения).
– Обычные и распределенные операционные системы (их компоненты распределены по нескольким компьютерам).
– Системы управления базами данных и системы обработки транзакций.
– Распределенные сервисы прикладного уровня.
Рассмотрим первый класс параллельных систем — систе- мы реального времени.
Английский термин «real-time» и соответствующее ему в русском языке понятие «реальное время» является наиболее спорным и сложным термином. Данное понятие применяется в различных научно-технических областях и подразумевает некие действия, продолжительность которых определяется внешними процессами.
Специфическая особенность систем реального времени
заключается в том, что к ним предъявляются строгие вре-
менные требования, диктуемые окружением или определяе-
мые ее назначением [1].

10
Вышеприведенное определение не является единствен- ным, для понимания смысла данного понятия, приведем еще не- сколько определений:
Система называется системой реального времени, если
правильность ее функционирования зависит не только от логи-
ческой корректности вычислений, но и от времени, за которое
эти вычисления производятся. То есть для событий, происхо-
дящих в такой системе, то, КОГДА эти события происходят,
так же важно, как логическая корректность самих событий
[2].
Реальное время (программное обеспечение): Относится к
системе или режиму работы, в котором вычисления проводят-
ся в течение времени, определяемого внешним процессом, с це-
лью управления или мониторинга внешнего процесса по резуль-
татам этих вычислений (IEEE 610.12 — 1990).
Системы реального времени — это системы, которые
предсказуемо (в смысле времени реакции) реагируют на непред-
сказуемые (по времени появления) внешние события [3].
Одной из функций таких систем может быть выполнение определенных действий в ответ на сигналы тревоги, и очень важно, чтобы они отвечали на них с определенной скоростью. В связи с этим существует разделение систем реального времени на два типа:
1. Системы с жесткими временными характеристиками — си- стемы жесткого реального времени.
2. Системы с нежесткими временными характеристиками — системы мягкого реального времени.
Системой жесткого реального времени называется си- стема, где неспособность обеспечить реакцию на какие-либо события в заданное время является отказом и ведет к невозмож- ности решения поставленной задачи. Многие теоретики ставят здесь точку, из чего следует, что время реакции в жестких си- стемах может составлять и секунды, и часы, и недели. Однако большинство практиков считают, что время реакции в системах жесткого реального времени должно быть все-таки минималь- ным. Большинство систем жесткогореального времени являют- ся системами контроля и управления. Такие СРВ сложны в реа-

11 лизации, так как для них предъявляются особые требования в вопросах безопасности.
Точного определения для мягкого реального времени не существует, поэтому отнесем сюда все СРВ, не попадающие в категорию жестких. Так как система мягкого реального времени может не успевать ВСЕ делать ВСЕГДА в заданное время, воз- никает проблема определения критериев успешности (нормаль- ности) ее функционирования. Вопрос этот совсем не простой, так как в зависимости от функций системы это может быть мак- симальная задержка в выполнении каких-либо операций, сред- няя своевременность обработки событий и т.п. Более того, эти критерии влияют на то, какой алгоритм планирования задач яв- ляется оптимальным.
Еще одной важной характеристикой системы реального времени является ее природа — статическая или динамиче-
ская[1]. В статической системе функционирование прогнозиру- емо и может быть определенно на этапе проектирования. В ди- намической системе запросы поступают нерегулярно и непред- сказуемо, но система должна динамически отвечать на них с га- рантированной скоростью.
Следует отметить, что понятие функционировать в ре-
альном времени отнюдь не означает очень быстро — его суть заключается в том, что к системе предъявляются определенные временные требования, и они должны соблюдаться [1].
Приведем требования, сформулированные Д. Бэконом и
Т. Харрисом [1], к системе реального времени:
– Необходима поддержка выполнения отдельных задач. Одни из них, такие как сбор данных, могут быть периодическими, другие, в том числе реакция на сигналы тревоги, — непредска- зуемыми.
– Для каждой задачи могут существовать специфические тре- бования, в частности точно определяющие время ее выполне- ния.
– Отдельные выполняемые системой задачи могут быть частью одной общей задачи — в таком случае производимые в их рам- ках действия должны быть четко согласованными.
По типу применения системы реального времени можно разделить на специализированные и универсальные.

12
Специализированной СРВ называется система, где кон- кретные временные требования определены. Такая система должна быть специально спроектирована для удовлетворения этих требований. Обычно такие системы применяются, где есть риск человеческого фактора.
Универсальная СРВ должна уметь выполнять произволь- ные (заранее не определенные) временные задачи без примене- ния специальной техники. Разработка таких систем, безусловно, является самой сложной задачей, хотя обычно, требования, предъявляемые к таким системам, мягче, чем требования для специализированных систем.
1.2.
Области применения и вычислительные
платформы СРВ
В течение длительно времени основными потребителями
СРВ были военная и космическая области. Сейчас ситуация из- менилась, и СРВ можно встретить даже в товарах народного по- требления.
Основные области применения СРВ:
Военная и космическая области: o бортовое и встраиваемое оборудование; o радары, системы измерения и управления; o цифровые видеосистемы, симуляторы; o ракеты, системы определения местоположения и при- вязки к местности.
Промышленность: o автоматические системы управления производством; ав- томатические системы управления технологическими про- цессами; o автомобилестроение: симуляторы, системы управления мотором, автоматическое сцепление … o энергетика: сбор информации, управление данными и оборудованием … o телекоммуникации: коммуникационное оборудование, сетевые коммутаторы, телефонные станции … o банковское оборудование: банкоматы …
Товары широкого применения:

13 o мобильные телефоны; o цифровое телевидение: мультимедиа, видеосервисы, цифровые телевизионные декодеры … o компьютерное и офисное оборудование.
Рассмотрим более подробно применение систем реального времени в наиболее интересных областях, которые приведены в работе Д. Бэкона и Т. Харриса [1]:
Управление технологическим процессом. В компьютер- ных системах управление технологическими процессами осу- ществляется путем сбора и анализа данных, получаемых с по- мощью специального контрольного оборудования (рис. 1.1).
Речь может идти как о простых действиях, таких как, об измерении температуры и давления через заданные промежутки времени и сравнении полученных показателей с предельными значениями, так и о более сложных, например о сборе большого количества разнообразных данных, их математическом анализе и выдаче команд управления технологическим процессом на ис- полнительные механизмы. Точность, с которой работает подоб- ная система, зависит от объема собираемых данных и времени, затрачиваемого на их анализ. Сбор и анализ информации произ- водится с известной периодичностью, зависящей от нужд кон- тролируемого или управляемого процесса. Так определение температуры в доменной печи, требует выполнения замеров каждые несколько секунд, а уровень воды в водохранилище до- статочно проверять один раз в час.
Системы должны не только периодически выполнять определенные действия, но и реагировать на события, возника- ющие в непредсказуемые моменты времени, например, повы- шение температуры ядерного реактора или давления газа в угольной шахте.
Также может быть еще один вид непериодических дей- ствий системы — высокоуровневое регулирование параметров, осуществляемое по запросу управляющего персонала на основе общей картины процесса, например изменение количества вы- пускаемой продукции. Подобного рода действия не столь сроч- ные, как, реакция на сигнал тревоги, но являются неотъемлемой частью общего процесса функционирования системы.

14
Рис. 1.1. Пример распределенной системы управления технологическим процессом
Управляемый процесс
Центр управления
Сеть
Операции мониторинга
Операции управления
Сетевой интерфейс
Интерфейс
Интерфейс
Датчик
Исполнительный механизм
Сеть

15
Описанные системы реального времени относятся к кате- гории статических и имеют жесткие временные характеристики.
Обычно для них разрабатывают периодическую схему, преду- сматривающую возможность поступления сигнала тревоги один за указанный период.
Поддержка мультимедиа. Мультимедийные приложения используются в самых разнообразных областях человеческой деятельности. Особенностью мультимедийных приложений яв- ляется общее требование: два потока данных (звук и видео) должны воспроизводится синхронно и с необходимой скоро- стью.
Характерно, что запросы на воспроизведение данных мультимедиа поступают от пользователя в непредсказуемые моменты времени, возможно, параллельно с работой другого программного обеспечения. Нужно заметить, что видеоданные имеют очень большой объем, а следовательно, для их доставки необходима высокая пропускная способность соединений. Так, минутный видеоклип занимает 12 Мбайт памяти и должен пере- даваться со скоростью 200 Кбит/с. Доставка должна произво- диться равномерно — лишь при этом условии движение на экране будет выглядеть плавным и естественным, без рывков и резкой смены кадров. Таким образом, независимо от местопо- ложения источника данных и загруженности системы к послед- ней предъявляются требования гарантированного качества об- служивания. Иными словами, она должна быть способна вос- производить мультимедийные данные с нужной скоростью, синхронно и без существенных потерь.
Мультимедийные рабочие станции можно определить как системы реального времени с нежесткими временными характе- ристиками: они должны работать в реальном времени, но для них допустимы некоторые задержки и снижение качества.
От обычных систем с разделением времени мультимедий- ные системы отличаются более высокими показателями вычис- лительной мощи, ширины полосы пропускания сетевых соеди- нений, объема постоянной и основной памяти, а также про- граммным обеспечением, способным эффективно использовать все эти технические возможности.

16
Согласно определению, СРВ должна обеспечить требуе- мый уровень сервиса в заданный промежуток времени. Этот промежуток времени задается обычно периодичностью и скоро- стью процессов, которым управляет система. Приблизительное время реакции в зависимости от области применения СРВпока- зано в таблице 1.1.
Таблица 1.1. Приблизительное время реакции в зависимости от области применения СРВ
Область применения СРВ
Время реакции СРВ
Математическое моделирование несколько микросекунд
Радиолокация несколько миллисекунд
Складской учет несколько секунд
Управление производством несколько минут
Видно, что времена очень разнятся и накладывают раз- личные требования на вычислительную установку, на которой работает СРВ.
Часто СРВ существуют в нескольких вариантах, напри- мер, в полном и сокращенном, когда объем системы составляет несколько килобайтов.
Вычислительные установки, на которых используются
СРВ, можно разделить на следующие платформы:
«Обычные» компьютеры. По логическому устройству совпадают с настольными компьютерами. Аппаратное устрой- ство несколько отличается. Для обеспечения минимального времени простоя в случае технической неполадки процессор, память и другие элементы размещаются на съемной плате, вставляемой в специальный разъем так называемой «пассивной» платы. В другие разъемы этой платы вставляются платы пери- ферийных контролеров и другое оборудование. Сам компьютер помещается в специальный корпус, обеспечивающий защиту от пыли и механических повреждений. В качестве мониторов ис- пользуются жидкокристаллические дисплеи иногда с сенсоро- чувствительным покрытием.

17
Основное доминирующее положение на этих компьюте- рах занимают процессоры Intel 80х86.
Подобные вычислительные системы обычно не использу- ются для непосредственного управления промышленным или иным оборудованием. Они служат как терминалы для взаимо- действия с промышленными компьютерами и встроенными кон- тролерами, для визуализации состояния оборудования и техно- логического процесса.
На таких компьютерах, как правило, в качестве операци- онной системы (ОС) используют классические ОС (с разделени- ем времени) с дополнительными программными комплексами, адаптирующими их к требованиям реального времени.
Промышленные компьютеры. Состоят из одной платы, на которой размещены процессор, контролер памяти и память различных видов (ОЗУ, ПЗУ, статическое ОЗУ, флэш-память).
Не смотря на наличие контроллеров SCSI (Small Computer
System Interface) очень часто СРВ работает без дисковых нако- пителей. Это связано с тем, что дисковые накопители не отве- чают требованиям, предъявляемым к системам реального вре- мени, таким как надежность, устойчивость к вибрациям, габари- там и времени готовности после включения питания.
Плата помещается в специальный корпус, в котором уста- новлении разъемы шины и источник питания. Корпус обеспечи- вает специальный температурный режим, защиту от пыли и ме- ханических повреждений. В этот же корпус вставляются цифро- аналоговые и аналогово-цифровые преобразователи, через кото- рых осуществляется ввод/вывод управляющей информации, управление электромоторами и т.п.
Среди промышленных процессоров доминируют процес- соры семейств PowerPC (Motorola — IBM), Motorola 68xxx
(Motorola). Так же широкую нишу занимают процессоры семей- ства SPARC (SUN), Intel (Intel), ARM (ARM).
При выборе процессора определяющими факторами яв- ляются получение требуемой производительности при наименьшей тактовой частоте, а так же время между переклю- чением задач и реакции на прерывания.
Промышленные компьютеры используются для непосред- ственного управления промышленным или иным оборудовани-

18 ем. Они часто не имеют монитора и клавиатуры. Для взаимо- действия с ними используются обычные компьютеры, соеди- ненные с ними через порты или Ethernet.
Отметим основные особенности СРВ, диктуемые
необходимостью работы на промышленном компьютере:
– Система часто должна работать на бездисковом компьютере и осуществлять начальную загрузку из ПЗУ. В силу этого долж- ны учитываться следующие факторы: o критически важным является размер системы; o для экономии места в ПЗУ часть системы хранится в сжатом виде и загружается в ОЗУ по мере необходимости; o система часто позволяет исполнять код, как в ОЗУ, так и в ПЗУ; o при наличии свободного места в ОЗУ система часто ко- пирует код из более медленного ПЗУ в ОЗУ; o сама система, как правило, создается на другом компью- тере — «обычном» компьютере.
– Система должна по возможности использовать как можно большее число типов процессоров, что дает возможность потре- бителю выбрать процессор необходимой мощности.
– Система должна по возможности поддерживать более широ- кий ряд специального оборудования (периферийные контролле- ры, таймеры и т.д.).
Критически важным параметром является возможность предсказания времени реакции на прерывания.
В целом ряде задач автоматизации программные комплек- сы должны работать как составная часть более крупных автома- тических систем без непосредственного участия человека. В та- ких случаях СРВ называют встраиваемыми.
Встраиваемые системы (Embedded system) можно опре- делить как программное и аппаратное обеспечение, составляю- щее компоненты другой, большей системы и работающее без вмешательства человека [3]. Встраиваемые системы устанавли- ваются внутрь оборудования, которым они управляют. Для крупного оборудования совпадают с промышленными компью- терами. Для меньшего оборудования представляют собой про-

19 цессор с сопутствующими элементами, размещенными на одной плате с другими электронными компонентами этого оборудова- ния.
1.3.
Организация систем реального времени
1.3.1.
Типичное строение систем реального времени
Типичная схема системы реального времени показана на рис. 1.2. Система состоит из трех подсистем: операционной, контролируемой (управляемой) и контролирующей. Между этими подсистемами существуют интерфейсы: приложения и машинный.
Контролируемая подсистема диктует требования в ре- альном масштабе времени и выдает основные характеристики объекта управления.
Рис. 1.2. Типичное строение систем реального времени
Контролируемая подсистема
Контролирующая подсистема
Интерфейс приложения
Машинный интерфейс
Операционная подсистема

20
Контролируемая подсистема представлена задачами (в дальнейшем называемыми прикладными задачами) которые ис- пользуют оборудование, управляемое подсистемой контроля.
Контролирующая подсистема управляет вычислениями, управляет связью с внешним оборудованием. Контролирующая подсистема должна обеспечивать распределение ресурсов, таких как память, доступ к сети, устройство длительного хранения информации.
Операционная подсистема обеспечивает связь с опера- тором. Контролирует полную деятельность системы. Данное программное обеспечение носит название операционной си-
стемой реального масштаба времени (RTOS – real time operat- ing system). Операционные системы реального времени (ОСРВ)
— это специальный класс программного обеспечения нижнего уровня, на базе которого разрабатываются системы реального времени.
Интерфейс приложения реализуется с помощью датчиков и исполнительных механизмов.
Машинный интерфейс обеспечивает связь конечных устройств информационной системы с подсистемой визуализа- ции оператора.
1.3.2.
Задачи, решаемые в системах реального
времени
СРВ представляют собой набор взаимодействующих меж- ду собой заданий или задач. Задача является одиночным объек- том, управление которым осуществляется оболочкой СРВ.
В зависимости от количества задач и от их вида определяется время функционирования СРВ.
Задачи классифицируют по двум категориям:
I Категория — По времени функционирования:

задачи в ЖРВ (жестком реальном времени);

задачи в МРВ (мягком реальном времени);

задачи в «нереальном времени».
II Категория — По типу функционирования:

периодические задачи;

апериодические задачи (асинхронные);

21

спорадические задачи;

фоновые задачи;

аппендикс.
Первая категория задач соответствует определения ти- пов систем реального времени данных в пункте 1.1. (системы жесткого и реального времени). Задачи «нереального времени»
— это задачи, для которой нет требований по своевременному выполнению.
Рассмотрим более подробно задачи второй категории.
Периодические задачи — это задачи, которые переходят в состояние выполнения через строго заданный период и выпол- няются каждый цикл функционирования в системе. Например, обработка и контроль сигнала. Для СРВ требуется четкое и своевременное выполнение каждой периодической задачи
Периодическая задача выполняется в строго отведенное ей время, каждый цикл. Запуск периодической задачи может осуществляться несколько раз за цикл. Характеризуется жест- ким крайним сроком исполнения.
Апериодические задачи — это задачи, имеющие мини- мальный приоритет в системе и выполняющиеся по событию.
Характеризуются наличием мягкого крайнего срока исполнения.
Функционирование таких задач осуществляется только в том случае, если периодические задачи не выполняются. К функциям апериодических задач относятся функции диагности- ки, выдача справочной информации и сохранение информации на внешнем носителе.
Спорадические задачи — это апериодические задачи с жестким крайним сроком исполнения. Приоритет устанавлива- ется на уровне периодических задач.
Спорадические задачи имеют непредсказуемый характер.
Для обработки выделяется отдельная периодическая задача, ко- торая будет контролировать выполнение.
Фоновые задачи — это задачи, для которых предельный срок исполнения не задается, либо устанавливается мягкий крайний срок исполнения. Может исполняться один раз за не- сколько циклов функционирования системы.

22
Задачи аппендиксы — это задачи, которые исполняются до старта ОС и имеют приоритет выше, чем сама ОС.
Данные задачи связаны с доступом к аппаратуре, напри- мер, установка триггеров, регистров и временных меток.
1.3.3.
Архитектура приложений систем реального
времени с учетом предсказуемости
В системах реального времени существуют две парадигмы приложений с учетом предсказуемости систем:

Архитектура приложения, работающего по событию. (Event
Type).

Архитектура приложения, функционирующего по времени.
(Time Type).
Event Type. Любая деятельность системы начинается в ответ на возникающее специфическое событие. Вид события определяется самой системой. Предсказуемость достигается следующими способами:
1. Использование стратегии оценки для каждой приклад- ной задачи (оценивается потребность данной задачи в текущий момент времени). Проверяется несколькими способами: а) Проверяется загруженность узла. б) Проверяется время предыдущего запуска данной задачи и анализируется эффект от невыполнения задачи. При отрица- тельном эффекте задача обязательно должна быть запущена.
2. Оценка потребности ресурсов для данной задачи.
3. Оценка готовности ресурсов для удовлетворения по- требностей и задач.
Достоинства: управляемость со стороны системы, неза- висимость от времени (количества тактов).
Недостатки: сложность алгоритма оценки, отсутствие возможности синхронизации событий на разных узлах.
Time Type. Деятельность системы начинается в опреде- ленный заданный момент глобально синхронизированного вре- мени. Предсказуемость достигается путём приведения всех за- дач к периодическим. Для апериодических, спорадических и фоновых задач создаются метазадачи, которые занимаются об- работкой соответствующего типа задач.

23
Достоинства: на всех узлах задачи могут исполняться по синхронизированному времени; таблица задач является фикси- рованной, для неё можно провести моделирование на возмож- ность функционирования в режиме РВ.
Недостатки: слабая управляемость процесса исполнения задач. Не существует возможности управления последователь- ностью задач в процессе функционирования системы.
1.3.4.
Проектирование систем жесткого реального
времени
Важнейшей стадией при разработке любой системы ре- ального времени является создание проекта, который удовле- творяет ряду важных требований. Системы реального времени отличаются от обычных систем обработки данных тем, что к ним применяются некоторые нефункциональные требования
(надежность и распределение времени). Как правило, стандарт- ные методы проектирования не дают хороших результатов.
Роль нефункциональных требований в процессе про-
ектирования. В настоящее время все больше заметно, что роль и важность нефункциональных требований в разработке ком- плексных приложений оценивается неадекватно. Для разработ- чиков систем, для методов, которые они используют, характерна концентрация в первую очередь на функциональности, и лишь потом, сравнительно поздно, — на нефункциональных требова- ниях. Хотя есть авторы, которые предполагают, что такой под- ход неверен при производстве безопасных ответственных си- стем. Например, часто требования по расчету времени рассмат- риваются в рамках производительности системы как целого. От- сутствие необходимой производительности часто выливается в какие-либо специальные ее изменения.
Нефункциональные требования включают в себя надеж- ность, своевременность и управление динамическими измене- ниями (т.е. занесение эволюционных изменений в работающую систему). Эти требования и условия, вносимые средой исполне- ния, должны приниматься во внимание во время разработки. Во время разработки необходима ранняя привязка программных

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

четкое разделение типов действий/объектов, которые нахо- дятся в системах жесткого реального времени (т.е. циклические и единичные действия);

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

определение относительной важности каждого объекта для успешного функционирования приложения;

точное определение и использование объектов контроля ре- сурсов;

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

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

физическая архитектура.
Логическая архитектура включает действия, которые могут быть проделаны независимо от условий, накладываемых средой исполнения, и в первую очередь направлены на удовле- творение функциональных требований.
Физическая архитектура принимает в расчет эти и дру- гие условия и вдобавок охватывает нефункциональные требова- ния. Например, если все объекты построены с учетом худших условий по распределению времени и надежности, то сама си- стема будет удовлетворять требованиям сохранности. Таким об- разом, физическая архитектура позволяет оценить параметры разработки для достижения компромиссного решения для всех требований задачи.

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

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

единичные;

защищенные;

пассивные.
Циклические и единичные действия являются обычными в системах реального времени; каждое из них должно содержать поток, который создается во время выполнения. Приоритет по- тока устанавливается во время планировки в фазе физической архитектуры. Защищенные объекты управляют доступом к

26 данным, которые доступны нескольким потокам (т.е. цикличе- ским и единичным объектам); в частности, они предусматрива- ют взаимное исключение. В однопроцессорных системах это достигается определением верхнего приоритета для каждого защищенного объекта, который равен максимальному количе- ству потоков, использующих его. Когда поток обращается к за- щищенному объекту, он начинает работать с верхним приорите- том и, следовательно, получает исключительный доступ к дан- ным, хранимым в защищенном объекте. Защищенные объекты подобны перехватчикам, в которых вызывающий может быть заблокирован, если условия не позволяют ему продолжить. Это используется для задержки единичных объектов, пока не про- изойдет освобождающее событие. Последним важным типом объектов является пассивный. Он используется для объекта, ко- торый или используется только одним потоком, или может ис- пользоваться совместно без ошибок.
Все четыре вышеуказанных типа объектов приемлемы как конечные объекты в жестких системах реального времени. Од- нако возможно, что система реального времени имеет подсисте- му, которая не является системой реального времени. Объекты в таких подсистемах являются пассивными или активными. Ак- тивные типы объектов могут участвовать в разделении главной системы, но должны быть трансформированы в один из выше- указанных типов до достижения конечного уровня.
С помощью этих типов конечных объектов могут поддер- живаться стандартные конструкции, используемые в жестких системах реального времени:

Периодические действия — представляется циклическими объектами.

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

27 ствующего характера. Например, требуемая циклическая тран- закция от входа к выходу может быть сначала представлена как единичный активный объект, но потом может быть реализована как циклический объект с последующими сериями единичных объектов, связанных защищенными объектами.
Чтобы иметь возможность анализировать весь про-
ект, необходимо поставить определенные условия:
1. Циклические и единичные объекты не могут выполнять про- извольные операции блокировки в других циклических или еди- ничных объектах.
2. Циклические и случайные объекты могут выполнять асин- хронную передачу операций управления в другие циклические или единичные объекты.
3. Защищенные объекты не могут выполнять операции блоки- ровки в любых других объектах.
Пункты 1 и 2 требуют, чтобы циклическим и единичным объектам было разрешена только связь через посылку полно- стью асинхронных сообщений или защищенные объекты.
Любой метод проектирования систем реального времени должен учитывать эти условия в процессе планирования логи- ческой архитектуры.
Проектирование физической архитектуры. Основное внимание в физической архитектуре уделяется требованиям к распределению времени. Процесс проектирования должен под- держивать формирование физической архитектуры через сле- дующие функции:
1. Возможность ассоциирования атрибутов распределения вре- мени с объектами.
2. Обеспечение такой внутренней структуры, в которой может быть предпринята планировка конечных объектов.
3. Создание абстракции, с помощью которой проектировщик может контролировать ошибки распределения времени.
Физический план должен быть осуществлен в контексте среды исполнения. Это гарантируется планировкой. Вопросы надежности также должны быть рассмотрены в этой фазе.
Все конечные объекты обладают ассоциированными с ни- ми атрибутами реального времени. Многие атрибуты связаны с отображением на логический план требований распределения

28 времени (например, срок, важность). Они должны быть уста- новлены до того, как будет производиться планировка.
Каждый циклический или единичный объект имеет неко- торое количество временных атрибутов. Например:
1. Период исполнения для каждого циклического объекта.
2. Минимальный интервал проявления для единичного объекта.
3. Сроки для всех циклических и единичных действий.
Различаются две формы сроков. Одна форма применяется прямо к единичному или циклическому действию. Другая при- меняется к ранее обусловленному действию (транзакции). Сро- ки для других действий должны извлекаться таким образом, чтобы полная транзакция удовлетворяла ее требованиям распре- деления времени.
Для планировки нужно знать верхнюю оценку времени исполнения каждого потока и все операции (во всех объектах).
После фазы логического планирования они могут быть оценены и им присвоены соответствующие атрибуты. Чем лучше оценки, тем точнее планировка. Хорошие оценки могут быть получены при повторном использовании компонент или из аргументов сравнения (с существующими компонентами других проектов).
В процессе детального проектирования и кодирования, а также при прямом использовании измерений во время тестирования, могут быть получены лучшие оценки, которые потребуют пере- планировки.
Планировка является составной частью разработки физи- ческой архитектуры. Предложенный план должен быть осуще- ствим. Это значит, что все сроки должны гарантироваться при всех предсказуемых обстоятельствах. Реализация этого требует знания скорости процессора, скорости памяти и ее емкости, временных характеристик ядра. Могут быть нужны также вре- менные параметры других устройств. Если мы предполагаем, что среда исполнения поддерживает приоритетную опережаю- щую диспетчеризацию потоков, то в этом случае планировка заключается в определении статических приоритетов потоков, заключенных в циклических и единичных действиях.
Контроль над временными ошибками. Описанная выше планировка может быть эффективна, если оценки/измерения верхней границы времени исполнения точны. В области вре-

29 менных характеристик определяются две стратегии для ослаб- ления результатов ошибок в компонентах программ:

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

Не позволять объектам выполняться по истечении срока.
Вопросы для самопроверки
1. Дайте определение системы реального времени.
2. Что понимают под параллельными системами, и какие типы параллельных систем существуют?
3. Приведите классификацию систем реального времени.
4. Что означают термины система жесткого и система мягкого реального времени?
5. В каких областях применяются системы реального времени?
6. На каких платформах существуют системы реального вре- мени?
7. Какие процессоры доминируют среди «промышленных компьютеров»?
8. Приведите типичную структуру построения системы реаль- ного времени.
9. Приведите классификацию задач в системах реального вре- мени.
10. Опишите архитектуры приложений систем реального вре- мени с учетом предсказуемости.
11. Приведите описание процесса проектирования системы со- ответствующее логической архитектуре.
12. Приведите описание процесса проектирования системы со- ответствующее физической архитектуре.


написать администратору сайта