Pour la première, je voudrais mentionner que je suis novice dans la programmation de systèmes en temps réel. C'est pourquoi je ne suis pas sûr que mes questions soient correctes. Désolé pour cela, mais j'ai besoin d'aide
Question en bref: comment mettre en œuvre un logiciel dur en temps réel pour être sûr qu'il respecte les délais? Il est nécessaire d'utiliser certaines fonctionnalités QNX? Ou est-ce juste suffisant pour l'écrire pour linux, le porter sur QNX et ce sera en temps réel par défaut?
Question complète: Nous avons implémenté un logiciel multiprocessus multiplateforme complexe avec communication inter-processus pour Linux, Windows, Android et QNX. Le langage de programmation est C ++, nous utilisons Boost et planty d'autres bibliothèques. Notre logiciel fait son travail bien et rapidement mais il est toujours prototype. À des fins de production, nous devons le faire en temps réel Certaines de nos fonctionnalités doivent être en temps réel et très robustes car elles sont très importantes et la sécurité des personnes qui utilisent nos logiciels peut en dépendre. Ils fonctionnent assez rapidement - jusqu'à des centaines de millisecondes. Mais je ne suis pas sûr que notre système soit vraiment en temps réel à cause de ce fait (ai-je raison?).
Il y a donc une question principale: comment modifier notre logiciel pour qu'il soit en temps réel? J'ai beaucoup cherché sur Google, mais je ne sais toujours pas comment le faire.
Quelques informations supplémentaires sur nos plateformes: Linux et Windows que nous utilisons actuellement uniquement à des fins de test. Android - nous n'avons toujours pas décidé si nous en avons besoin. QNX - est notre système d'exploitation cible pour la production. Je suppose que la réponse à ma prochaine question est "NON" :) Mais est-il possible d'implémenter un logiciel multiplateforme en temps réel (pour les systèmes d'exploitation en temps réel (RTOS) ainsi que pour les systèmes d'exploitation à usage général (GPOS))?
Peut-être que nous devons faire nos efforts pour implémenter toutes les fonctionnalités en temps réel uniquement pour QNX? Mais je ne comprends toujours pas comment le faire. Quelqu'un pourrait-il éclairer cette question?