сказать, что она чувствительна к внешнему окружению, потому что
она выполняет ввод/вывод. Обычно, ввод и вывод оказывается диск-
ретным, отчетливо разделенным по времени. В то же время, системы
реального времени имеют устройства ввода/вывода такие, как термо-
пары, оптические сканеры, клапаны, моторы и др., которые собирают
и выдают данные непрерывно. Непрерывный вывод обычно сопровожда-
ется непрерывным вводом. Например, системы реального времени мо-
гут непрерывно следить за температурой химического процесса и
принимать меры для поддержания его в заданных рамках.
Системы реального времени обычно требуют одновременной обра-
ботки многочисленных процессов ввода/вывода. В системах реального
времени необходимость одновременной обработки вызвана безотлага-
тельной обработкой двух или более процессов ввода/вывода. Это
требование одновременности отлично от требования независимости
обработки транзакций перекрывающихся процессов в системах разде-
ления времени. Например, система реального времени для управления
химическими процессами нуждается в поддержании процесса в требуе-
мом состоянии и в одновременном наблюдении за температурой, уров-
- 5-3 -
нем, давлением, концентрацией, потоками и т.д., и в регулировке
клапанов, калориферов и т.п.
Основные типы систем реального времени
Системы реального времени разделяются на три типа на основа-
нии направления потока данных, как показано на рис. 5-1:
- Однонаправленные
- Двухнаправленные стабильные
- Двухнаправленные потенциально нестабильные
Любая система реального времени может быть представлена од-
ним из этих трех основных типов.
ЪДДДДДДДДДДДДДДДД¬
¦ Системы реаль- ¦
¦ ного времени ¦
АДДДДДДДДВДДДДДДДЩ
¦
ЪДДДДДДДДДДДДДДБДДДДДДДДДДДДДД¬
¦ ¦
ЪДДДДДДДДБДДДДДДДД¬ ЪДДДДДДДДБДДДДДДДД¬
¦ ¦ ¦ ¦
¦ Однонаправленные¦ ¦ Двухнаправленные¦
АДДДДДДДДДДДДДДДДДЩ АДДДДДДДДДВДДДДДДДЩ
¦
ЪДДДДДДДДДДДДДДБДДДДДДДДДДДДДД¬
¦ ¦
ЪДДДДДДДДБДДДДДДДД¬ ЪДДДДДДДДБДДДДДДДД¬
¦ Стабильные ¦ ¦ Потенциально ¦
¦ ¦ ¦ нестабильные ¦
АДДДДДДДДДДДДДДДДДЩ АДДДДДДДДДДДДДДДДДЩ
Рис. 5-1. Типы систем реального времени,
основанные на направлении потока данных
Однонаправленные системы
Однонаправленными считаются системы, в которых поток данных
имеет только одно направление, то есть или из внешнего устройства
в компьютер, или из компьютера во внешнее устройство, но не то и
другое. Это главным образом системы генерации или сбора данных.
Приведенная ранее система генерации кинокартины является примером
системы генерации данных. Единственным требованием является то,
что кадры должны воспроизводиться с частотой 24 кадра в секунду.
Это означает, что генерация кадра не должна занимать больше 1/24
секунды. Даже незначительная задержка будет заметна и неприемле-
ма. Если большинство кадров могут быть воспроизведены за 1/24 се-
кунды, а некоторые займут немного больше времени, тогда для полу-
чения эффекта реального времени может быть использован буфер, как
показано на рис. 5-2. На самом деле компьютер может воспроизвести
несколько кадров перед началом отображения. Новые кадры заносят-
ся в буфер по мере генерации, и один кадр из буфера отобража-
ется каждую 1/24 часть секунды. Даже если компьютеру необходимо
больше времени для воспроизведения одного кадра, это допустимо,
так как вывод из буфера воспроизводится только 24 раза в секунду.
- 5-4 -
ЪДДДДДДДДДДДДДД¬ ЪДДДДДДДДДДДДДД¬ ЪДДДДДДДДДДДДДД¬ Ъ
¦ Генерирующий ¦ ¦ ¦ ¦ ¦ ¦
¦ кадры ГДДДДДДДґ Буфер ГДДДДДДДґ Дисплей ¦
¦ компьютер ¦ ¦ ¦ ¦ ¦ ¦
АДДДДДДДДДДДДДДЩ АДДДДДДДДДДДДДДЩ АДДДДДДДДДДДДДДЩ А
Рис. 5-2. Генерация данных с использованием буфера
Системы сбора данных противоположны системам генерации дан-
ных. В системах сбора данных внешние устройства определяют быст-
родействие компьютера. Если быстродействие мало, некоторые данные
могут быть потеряны. Буфер не может компенсировать частоту по-
ступления данных, как при генерации. Система лабораторных измере-
ний, которая собирает данные, является примером такой системы.
После сбора данных они могут быть проанализированы и отображены
в графическом или текстовом виде.Таким образом, система осущест-
вляет также и вывод. Но фаза вывода обычно отделена от фазы сбора
данных. Таким образом, система лабораторных измерений является
ярким представителем системы сбора данных.
Двухнаправленные стабильные системы
Однонаправленные системы осуществляют ввод или вывод из
компьютера, но не то и другое одновременно. Однако, для многих
систем реального времени, необходим и ввод и вывод. Такие систе-
мы называются двухнаправленными системами. Эти системы могут быть
стабильными и потенциально нестабильными. Давайте сначала обсудим
двухнаправленные стабильные системы на примере системы управления
домом.
Система управления домом может быть использована для управ-
ления отоплением, вентиляций, кондиционированием, освещением, по-
ливом лужаек и т.д. Для поддержания определенной температуры не-
обходимо ее измерять и корректировать каждые несколько минут.
Температура остается приемлемой, даже если она остается неизмен-
ной 10 или 20 минут. Таким образом, случайная задержка не являет-
ся катастрофой, так как температура какое-то время удерживается и
система остается под контролем. Такая система считается стабиль-
ной. Другим примером является автоматический кассовый аппарат.
Большинство транзакций занимает всего несколько секунд, но допус-
тимо, если отдельная транзакция длится дольше из-за перегрузки.
Заметим, что здесь не фиксируется абсолютное ограничение времени
(т.е., что ответ должен приходить в течении х секунд). Но ограни-
чение времени все же имеется (т.е. покупатель будет раздражен,
если не получит деньги через 5 минут после запроса).
Ддухнаправленные потенциально нестабильные системы
Рассмотрим балансирование рукоятки метлы на кончиках пальцев.
Для удержания равновесия надо постоянно достаточно быстро двигать
кончиками пальцев. Эта система двухнаправленная, потому что необ-
ходимо чувствовать позицию рукоятки метлы и соответственно кор-
ректировать свои действия. Если немного опоздать, рукоятка метлы
может сдвинутся слишком далеко и выйти из баланса. Таким образом,
имеется некоторое "абсолютное" ограничение времени, которое долж-
но всегда поддерживаться. Даже случайная задержка неприемлема.
Такая система считается нестабильной. Другой пример - это управ-
ление полетом ракеты. Ракета балансирует на выхлопе подобно руко-
- 5-5 -
ятке метлы на кончиках пальцев. И подобно рукоятке метлы, если
ракета отойдет слишком далеко от баланса, она станет неуправляе-
мой.
В двухнаправляемых потенциально нестабильных системах компь-
ютер принимает решения, как управлять внешними устройствами. Та-
кие системы в наибольшей степени требуют использования компьюте-
ра, так как даже небольшие задержки могут иметь весьма болезнен-
ные последствия.
Типичные временные характеристики и решения
систем реального времени
Для понимания того, как быстро внешнее устройство требует
ответа, наиболее важной временной характеристикой является время
ответа. Время ответа - это время между вводом в компьютерную сис-
тему и завершением ею обработки или пересылки ответа на вывод.
Таким образом, это полное время, в течение которого транзакция
или активная задача остается в вычислительной системе.
Например, если система автоматических кассовых аппаратов
(АКА) имеет только один терминал, тогда время ответа есть просто
время от того момента, когда покупатель делает заявку, до полного
выполнения ее компьютером. Однако, в действительности, система
АКА имеет много терминалов. Поэтому время ответа включает задерж-
ки, вызванные тем, что компьютер обрабатывает несколько запросов
одновременно.
Диапазон времен ответов для некоторых приложений показан на
рисунке 5-3. Для АКА или систем резервирования билетов на авиали-
нии время ответа должно быть порядка секунд. Для некоторых спра-
вочных систем базы данных допустимо время ответа до 20 секунд. С
другой стороны, время ответа для таких приложений, как управление
полетом ракеты, радарное слежение и сбор научных данных, должно
измерятся в миллисекундах.
¦ ¬
0,1 мсекД†Д ¦ Радарный поиск
¦ Щ ¬
1 мсекД†Д ¦
¦ | Печать на пишущей машинке
10 мсекД†Д |
¦ |
100 мсекД†Д | Ввод данных экспериментов
¦ ¦
1 секД†Д Щ ¬
¦ ¬ ¦ Банки,системы резервирования, кассы
10 секД†Д ¬¦ Щ
¦ ¦| Запросы к базам данных
100 секД†Д ¦|
¦ ¦ Система управления домом
1000 секД†Д ¦
¦ Щ
10000 секД†Д
Рис. 5-3. Интервалы типичных времен ответа
Другой важной временной характеристикой является временной
интервал между двумя транзакциями. Он определяет, как часто могут
обрабатываться транзакции. Временной интервал может быть случай-
- 5-6 -
ным или периодическим. Он случаен, когда определяется событиями
во внешнем устройстве (таким, как нажатие клерком клавиши или
прерывание от какого-либо устройства). Оно периодическое, если