Во-первых, я хотел бы отметить, что я новичок в системном программировании в реальном времени, поэтому я не уверен, что мои вопросы верны. Извините за это, но мне нужна помощь
Короче вопрос: как внедрить жесткое программное обеспечение в реальном времени, чтобы быть уверенным, что оно соответствует жестким срокам? Нужно использовать некоторые функции QNX? Или достаточно написать его для linux, портировать на QNX и по умолчанию он будет в реальном времени?
Полный вопрос: Мы реализовали несколько сложных кроссплатформенных многопроцессорных программ с межпроцессным взаимодействием для Linux, Windows, Android и QNX. Язык программирования - C ++, мы используем Boost и другие библиотеки. Наше программное обеспечение делает свою работу хорошо и быстро, но все еще является прототипом. Для производственных целей мы должны делать это в режиме реального времени. Некоторые из наших функций должны быть в режиме реального времени и очень надежными, потому что они очень важны, и от них может зависеть безопасность людей, использующих наше программное обеспечение. Они работают довольно быстро - до сотен миллисекунд. Но я не уверен, что наша система действительно работает в режиме реального времени из-за этого факта (я прав?).
Поэтому возникает главный вопрос: как изменить наше программное обеспечение в режиме реального времени? Я много гуглил, но до сих пор не знаю, как это сделать.
Некоторая дополнительная информация о наших платформах: Linux и Windows в настоящее время мы используем только для целей тестирования. Android - мы до сих пор не решили, нужен ли он нам. QNX - наша целевая ОС для производства. Я предполагаю, что ответом на мой следующий вопрос будет «НЕТ» :) Но возможно ли вообще внедрить кроссплатформенное программное обеспечение реального времени (для ОС реального времени (RTOS), а также для ОС общего назначения (GPOS))?
Возможно, нам нужно приложить усилия для реализации всех функций реального времени только для QNX? Но я до сих пор не понимаю, как это сделать. Может ли кто-нибудь пролить свет на этот вопрос?