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


Я прочитал определения для различные понятия реального времени, и примеры, приведенные для жестких и мягких систем реального времени имеет для меня смысла. Но, нет никакого реального объяснения или примера твердой системы реального времени. По ссылке выше:

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

есть ли четкое различие между фирмой в реальном времени против жесткого или мягкого реального времени, и есть ли хороший пример, который иллюстрирует это различие?

в комментариях Чарльз попросил, чтобы я отправил теги Вики для новых тегов. Примером "системы реального времени фирмы", которую я предоставил для тега фирмы-реального времени, была система подачи молока. Если система подает молоко после истечения срока его годности, то молоко считается "не полезным". Можно терпеть употребление злаков без молока, но качество ухудшается.

Это просто идея, которую я сформировал в своей голове, когда я впервые прочитал определение. Я ищу гораздо лучший пример, и, возможно, лучшее определение фирма в режиме реального времени это улучшит мое представление об этом.

11 67

11 ответов:

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

твердые / мягкие системы реального времени могут пропустить некоторые сроки, но в конечном итоге производительность ухудшится, если будет пропущено слишком много. Хорошим примером является звуковая система в вашем компьютере. Если вы пропустите несколько бит, ничего страшного, но пропустите слишком много и вы собираетесь в конечном итоге деградировать систему. Аналогичными были бы сейсмические датчики. Если вы пропустите несколько точек данных, ничего страшного, но вы должны поймать большинство из них, чтобы разобраться в данных. Что еще более важно, никто не умрет, если они не работают правильно.

линия нечеткая, потому что даже кардиостимулятор может быть на небольшую сумму, не убив пациента, но это общая суть.

Это вроде как разница между горячим и теплым. Нет настоящее разделение, но вы знаете это, когда чувствуете его.

Жесткий В Режиме Реального Времени

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

примеры:

  • Air France рейс 447 врезался в океан после того, как неисправность датчика вызвала ряд системных ошибок. Пилоты заглушили самолет, реагируя на устаревшие показания приборов. Все 12 членов экипажа и 216 пассажиров погибли.

  • космический аппарат Mars Pathfinder был почти потерян, когда приоритетная инверсия вызвала перезапуск системы. Более приоритетная задача не была выполнена вовремя из-за блокировки более низкой приоритетной задачей. Проблема была исправлена, и космический корабль успешно приземлился.

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


Фирма В Режиме Реального Времени

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

примеры:

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

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


Мягкий В Реальном Времени

The soft real-time определение позволяет часто пропускать сроки, и до тех пор, пока задачи своевременно выполняются, их результаты продолжают иметь значение. Выполненные задачи могут иметь увеличивающуюся ценность до крайнего срока и уменьшающуюся ценность после него.

примеры:

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

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


Siewert: в реальном масштабе времени врезанные системы и Комплектующие.
Liu & Layland: алгоритмы планирования для мультипрограммирования в жестких условиях реального времени.
Marchand & Silly-Chetto: динамическое планирование мягких Апериодических задач и периодических задач с пропусками.

после прочтения страницы Википедии и других страниц в режиме реального времени вычислений. Я сделал следующие выводы:

1 > Для a жесткая система реального времени, если система не может уложиться в срок даже после того, как система считается несостоявшейся.

2 > Для a твердая система реального времени, даже если система не может уложиться в срок, возможно более одного раза (т. е. для нескольких запросов), система не выдержало. Также ответы на запросы (ответы на запросы, результаты выполнения задачи, и т. д.) бесполезны, как только крайний срок для этого конкретного запроса прошел (полезность результата равна нулю после его крайнего срока). Гипотетическим примером может быть система прогноза шторма (если шторм предсказан до прибытия, то система выполнила свою работу, прогнозирование после того, как событие уже произошло или когда оно происходит, не имеет значения).

3 > Для a мягкая система реального времени, даже если система не может уложиться в срок, возможно более одного раза (т. е. для нескольких запросов), система не выдержало. Но, в этом случае результаты запросов не хреновый значение для результата после его окончания, не равно нулю, скорее он ухудшается по прошествии времени после крайнего срока. Например.: Потоковое аудио-видео.

здесь - это ссылка на ресурс, который был очень полезным.

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

фирма и софт просто не могут быть автоматически объявлены сломанными при несоблюдении одного крайнего срока.

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

ранние системы видеоигр, такие как Atari 2600 и векторная графика Cinematronics, имели жесткие требования к реальному времени из-за характера графики и оборудования синхронизации.

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

и давайте не забывать, что иногда есть неявное "пока кто-то смотрит" рабочее состояние. Если никто не видит, что вы нарушаете правила (или если они это сделали, но они умирают в огне, прежде чем рассказать кому-либо), и никто не может доказать, что вы нарушили правила после факта, тогда это похоже на то, как если бы вы никогда не нарушали правила!

самый простой способ различать различные типы систем реального времени-это ответить на вопрос:

является ли отложенный ответ системы (после истечения крайнего срока) по-прежнему полезным или нет?

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

  1. Hard: нет, и отложенные ответы считаются системным сбоем

Это тот случай, когда отсутствует срок будет сделать систему непригодной для использования. Например система контролируя систему воздушной подушки автомобиля должна обнаружить аварию и надуть быстро сумку. Весь процесс занимает более или менее одну двадцать пятую часть секунды. Таким образом, если система, например, реагирует с задержкой в 1 секунду, последствия могут быть смертельными, и не будет никакой пользы от того, что сумка надута, как только автомобиль уже разбитый.

  1. фирма: нет, но отложенные ответы не обязательно сбой системы

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

  1. софт: да, но системная служба деградирует

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

A мягкое Реальное время легче всего понять, в котором даже если результат получен после крайнего срока, результаты по-прежнему считаются действительными.

пример: веб-браузер-мы запрашиваем определенный URL, это занимает некоторое время в загрузке страницы. Если система занимает больше, чем ожидалось, времени, чтобы предоставить нам страницу, полученная страница не считается недействительной, мы просто говорим, что производительность системы не была до отметки (система дала низкий спектакль!).

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

пример: в случае, если робот выполняет какую-то работу, например трассировку линий и т. д. Если на его пути возникает препятствие, и робот не обрабатывает эту информацию в течение некоторого запрограммированного срока (почти мгновенно!), робот, как говорят, не справился со своей задачей (система робота также может получить полностью уничтожен!).

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

пример: спутниковая связь для контроля положения противника или какой-либо другой задачи. Если наземная вычислительная станция, на которую спутники периодически отправляют кадры, перегружена, а текущий кадр (пакет) не обрабатывается во времени, то и следующий кадр появляется, текущий пакет (тот, кто пропустил крайний срок) не имеет значения, была ли обработка выполнена (или наполовину выполнена или почти выполнена) отброшена/отброшена. Но наземный компьютер не называется полностью провалившимся.

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

говоря небрежно, большинство людей неявно имеют неформальную ментальную модель, которая рассматривает информацию или событие как "реальное время"

• Если или в той мере, в какой это проявляется для них с задержкой (латентностью), которая может быть связана с его воспринимаемой валютой

• т. е. в период времени, когда информация или событие имеют для них приемлемо удовлетворительную ценность.

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

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

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

  • не более 10% заданий пропускают свои сроки
  • или нет задачи более чем на 20% Тарди
  • или средняя запоздалость всех задач не более 15%
  • или максимальное опоздание среди всех задач составляет менее 10%

Это все общие примеры мягких случаев в реальном времени в очень многих приложениях.

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

В отличие от статического жесткого специального случая в реальном времени, мягкое Реальное время делает только минимально необходимые прикладные предположения о задачах и системе, и ожидаются неопределенности. Чтобы забрать своего ребенка, вам нужно доехать до школы, и время для этого динамично зависит от погоды, условий движения и т. д. У вас может возникнуть соблазн чрезмерно обеспечьте свою систему (т. е. разрешите то, что вы надеетесь, является худшим временем вождения), но опять же это трата ресурсов (ваше время и занятие семейного автомобиля, возможно, отказ от использования другими членами семьи).

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

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

краеугольным камнем систем реального времени является "предсказуемость."Трудный случай в реальном времени заинтересован только в одном частном случае предсказуемости-т. е. в том, что все задачи будут соответствовать своим срокам и максимуму возможное значение будет достигнуто этим событием. Этот частный случай называется "детерминированным"."

существует спектр предсказуемости. Детерминизм (детерминизм)-это одна конечная точка (максимальная предсказуемость) в спектре предсказуемости; другая конечная точка-минимальная предсказуемость (максимальный недетерминизм). Метрика спектра и конечные точки должны быть интерпретированы в терминах выбранной модели предсказуемости; все между этими двумя конечными точками-степени непредсказуемости (=степени недетерминизма).

большинство систем реального времени (а именно мягких) имеют недетерминированную предсказуемость, например, времени выполнения задач и, следовательно, значений, полученных из этих событий.

Soft real-time требует специфичного для приложения выбора вероятностной модели (а не общей частотной модели) и, следовательно, модели предсказуемости для рассуждений о задержках событий и результирующих значениях.

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

  • вероятность того, что задача не пропустить срок более чем на 5% является больше, чем 0.87. (Обратите внимание на количество критериев планирования, выраженных там.)

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

  • потому что идеальное уничтожение всех вражеских ракет очень маловероятно или невозможно, назначьте свои защитные ресурсы, чтобы максимизировать вероятность того, что как многие из них наиболее угрожающие (например, основанные на их целях) враждебные ракеты будут успешно перехвачены (близкий перехват считается, потому что он может переместить враждебную ракету с курса);

  • жалуйтесь, что это не вычислительная проблема в реальном времени, потому что она динамическая, а не статическая, и традиционные концепции и методы в реальном времени не применяются, и это звучит сложнее, чем статическое жесткое Реальное время, поэтому вас не интересует оно.

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

чтобы напрямую ответить на вопрос OP:

трудная система в реальном времени может обеспечить детерминированные гарантии-чаще всего, что все задачи будут соответствовать своим крайним срокам, время ответа на прерывание или системный вызов всегда будет меньше x и т. д.- Если и только если очень сильные предположения сделаны и верны, что все, что имеет значение, является статичным и известным a' priori (в целом, такие гарантии для жестких систем реального времени являются открытой исследовательской проблемой, за исключением довольно простых случаев)

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

очевидно, что жесткий режим реального времени-это простой частный случай мягкого режима реального времени. Очевидно, что аналитические недетерминированные гарантии soft real-time могут быть очень сложными для предоставления, но являются обязательными в наиболее распространенных случаях реального времени (включая наиболее опасные критические для безопасности, такие как боевые), поскольку большинство случаев в реальном времени являются динамическими, а не статическими.

"фирма в реальном времени "является неопределенным частным случаем "мягкого реального времени"."Нет никакой необходимости в этом термине, если термин" мягкое Реальное время " понимается и используется должным образом.

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

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

Я знаю, что это определение старое, очень старое. Однако я не могу найти более позднего определения IEEE (Institute of Electrical and Electronics Engineers).

может быть, это определение вины.

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

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

Если вы пишете приложение это в режиме реального времени, это можно считать софт. Если у вас закончится время, вы можете надеяться на меньшую нагрузку в следующий раз, вы можете настроить ОС, добавить немного памяти или даже обновить оборудование. У тебя есть выбор.

смотреть на это с точки зрения UX не полезно. Шкода не может быть сломана, если она дает сбои, но BMW наверняка будет.

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

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

рассмотрим задачу, которая вводит данные из последовательного порта. При поступлении новых данных последовательный порт инициирует событие. Когда программное обеспечение обслуживает это событие, оно считывает и обрабатывает новые данные. Последовательный порт имеет аппаратное обеспечение для хранения входящих данных (2 на MSP432, 16 на TM4C123) таким образом, что если буфер заполнен и поступает больше данных, новые данные теряются. Является ли эта система жесткой, твердой или мягкой в реальном времени?

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


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

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


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

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

UTAustinX: UT.РТРС.12.01 X сети Bluetooth в реальном времени