На работе мы обсуждаем дизайн новой платформы и один из верхних типов управления, который сказал, что нужно запустить нашу текущую базу кода (C на Linux), но быть в режиме реального времени, потому что ей нужно было ответить менее чем за секунду до различные входы. Я указал, что:Есть ли разница между системой реального времени и детерминированной?
- Эта точка не означает, что она должна быть «в реальном времени» только что ему нужно быстрее часов и более рационализацию в обработке прерываний
- Одним из ключевых моментов, чтобы рассмотреть ОС, которая используется. Они хотели придерживаться встроенного Linux, я указал, что нам нужна RTOS. Использование Linux предотвратит «реальное время» из-за разрыва памяти ядра/пользователя, поэтому ввод-вывод выполняется через файлы и сокеты, которые вводят задержку.
- Нам действительно нужно определить, нужно ли это детерминировать (необходимо ответьте на ввод в < 200 мс 90% времени, например).
Действительно, на мой взгляд, если точка 3 истинна, то это должна быть система реального времени, а затем точка 2 является самым большим соображением.
Я чувствовал уверенность в ответе, но потом я думал об этом позже ... Что думают другие? Я на правильном пути здесь или я чего-то не хватает?
Есть ли какая-то разница в том, что мне не хватает системы «реального времени» и «детерминированной»? И, кроме RTC и RTOS, я пропускаю что-то важное, что требуется для выполнения реальной системы реального времени?
С нетерпением жду некоторых замечательных отзывов!
EDIT:
Есть несколько хороших ответов до сих пор, похоже, есть немного любопытства о моей системе и требованиях, поэтому я добавлю несколько замечаний для тех, кто интересуется:
- Моя компания продает единицы в десяти тысячах, поэтому я не хочу идти за убийством по цене
- Обычно мы продаем основную плату процессора и независимый дисплей. Также есть подключенная сеть других CAN-устройств.
- Плата (в настоящее время) управляет устройствами, а также выступает в качестве веб-сервера отправки основные документы XML на дисплей для конечных пользователей
Требования приходят сюда, где руководство хочет дисплей будет обновляться «быстро» (< 1s), однако true Ограничения IMO исходят от устройств, которые можно подключить через CAN. Эти устройства часто являются управляемыми двигателем устройствами с требованиями, в том числе «должны отвечать менее чем за 200 мс».
в режиме реального времени компьютер подразумевает * жесткий * ограничение времени, а не один, что достаточно для удовлетворения лишь 90% времени. Является ли ограничение времени жестким или нет? Это определяет, какой тип системы вам нужен. – bdares
Я бы сказал, это зависит от ожидаемого объема вашей платформы. Это в миллион раз легче и быстрее поддерживать ваш существующий Linux-код и просто покупать очень быстрый процессор, чем пытаться подключиться к RTOS и жить без таких вещей, как защита адресного пространства. Но если продукт очень большой, то стоимость процессора больше учитывается. – TJD
@TJD - проблема в том, что даже с самым быстрым процессором нет гарантии, что ограничение будет выполнено. Насколько я понимаю, система с UC, которая имеет RTC и высокую тактовую частоту, будет (может) быть узким местом для ОС. – Mike