Что представляет собой «реальное время» - PullRequest
10 голосов
/ 17 сентября 2008

У меня возникают проблемы при принятии решения о том, классифицировать ли мое приложение как «реальное время» или «почти реальное время», или, возможно, даже что-то еще.

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

Это в реальном времени? Каковы пороговые значения для определений реального и близкого к реальному времени?

EDIT

Я думаю, что это дубликат Определение реального времени в сети для бизнеса .

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

Ответы [ 13 ]

20 голосов
/ 17 сентября 2008

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

Это самая большая проблема StackOverflow: неквалифицированные люди отвечают на МНОГО вопросов с ответами, которые «звучат правильно» и получают голосование, люди, которым небезразлично, является ли ответ на самом деле правильным, не произносят глупости достаточно быстро, чтобы заработать репутацию, чтобы исправить ошибку ответы. Публикация анонимно из-за ожидаемой реакции коленного рефлекса.

9 голосов
/ 17 сентября 2008

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

Люди привыкли думать, что это должно означать «небольшое количество миллисекунд / микросекунд», но это не обязательно так - это зависит от вашей системы.

Если ваша система выйдет из строя , если она не завершится, то в течение 30 секунд потребуется требуемый ответ, тогда это «в режиме реального времени».

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

6 голосов
/ 17 сентября 2008

Фраза «в реальном времени» охватывает довольно большой участок земли.

Неопределенное определение «программное обеспечение, которое действует в течение ограниченного времени отклика».

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

Там, где граница мягкая, например, в системе воспроизведения музыки, где допустимы вариации до 50 мс, система называется «мягким в реальном времени».

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

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

3 голосов
/ 17 сентября 2008

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

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

Вы, безусловно, можете требовать 30-секундную задержку в режиме реального времени, особенно если доставка указанной информации дольше.

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

2 голосов
/ 17 сентября 2008

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

Таким образом, рисуя очень широкими мазками, любое приложение, расположенное поверх Windows, может быть в лучшем случае «почти в реальном времени». Вдвойне, если ваше приложение работает на какой-то платформе с песочницей (Java, .NET), где вы не имеете абсолютного контроля над функциями платформы (например, сбор мусора).

Мое личное правило - «в режиме реального времени» не относится к настольному ПК; это сфера ПЛК (и да, они могут работать под управлением таких ОС, как QNX, VxWorx или даже RTLinux).

1 голос
/ 05 ноября 2010

Об этом я подробно расскажу на своем веб-сайте real-time.org. На домашней странице есть временная ссылка на брифинг. На брифинге обсуждается, как и почему люди не понимают, что означает «в реальном времени» (и «жесткий», «мягкий», «предсказуемый» и т. Д.). Это обеспечивает некоторые точные и общие определения. Я слышал от людей, которые не согласны с моим объяснением этой темы, но ни один из них не выдвинул ничего столь же точного и общего, как мое. «Подними стул, давай поговорим», как говорит Ларри Кинг.

1 голос
/ 19 февраля 2009

Определение «жесткого» в режиме реального времени от моих друзей управления - Последняя информация неверна. Если он должен быть там каждые 1 с, и он попадает туда в 1.1 с, это бесполезно для вычислений.

1 голос
/ 17 сентября 2008

Еще один способ определения «реального времени» заключается в оценке возможностей многих RTOS s (операционных систем реального времени). например, определение QNX здесь . Обратите внимание, что они соответствуют стандарту системного продукта POSIX PSE52 Realtime Controller 1003.13-2003. Большинство встроенных операционных систем будут обеспечивать аналогичную функциональность.

0 голосов
/ 17 сентября 2008

Я полагаю, что ответ заключается в том, что системы реального времени являются субъективными, поскольку «реальное время» - это просто ограничения своевременности, налагаемые требованиями. Хотя очевидно, что для ответа на запрос требуется 2 часа, а не в реальном времени, 30-секундная задержка может быть достаточно быстрой, чтобы считаться реальной.

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

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

Опять же, «реальное время» ограничено вашим определением своевременного ответа.

0 голосов
/ 17 сентября 2008

Реальное время имеет дело с микросекундами ... в основном вокруг робототехники. Подумайте, двигайте руку 30 микросекунд; сварка 1000 микросекунд; ', как при сборке автомобиля.

Ваши 30 секунд основаны на спящем потоке или таймере в нереальной ОС? Если это так, то у вас есть потенциальные отклонения. Считаете ли вы неудачей, если вы находитесь за пределами этой дисперсии (30,01 секунды)? Если нет, то это не в реальном времени.

...