Per la prima volta vorrei menzionare che sono un principiante nella programmazione di sistemi in tempo reale Ecco perché non sono sicuro che le mie domande siano corrette. Scusami ma ho bisogno di aiuto
Domanda in breve: come implementare software in tempo reale per essere sicuri che rispetti le scadenze rigide? È necessario utilizzare alcune funzionalità di QNX? O è abbastanza per scriverlo per Linux, port su QNX e sarà in tempo reale per impostazione predefinita?
Domanda completa: abbiamo implementato alcuni complessi software multiprocesso multipiattaforma con comunicazione tra processi per Linux, Windows, Android e QNX. Il linguaggio di programmazione è C ++, usiamo Boost e un sacco di altre librerie. Il nostro software fa il suo lavoro bene e rapidamente ma è ancora un prototipo. Ai fini della produzione, dobbiamo farlo in tempo reale. Alcune delle nostre funzionalità devono essere in tempo reale e molto robuste perché sono molto importanti e la sicurezza delle persone che usano il nostro software può dipendere da esse. Funzionano abbastanza rapidamente - fino a centinaia di millisecondi. Ma non sono sicuro che il nostro sistema sia realmente in tempo reale per questo motivo (ho ragione?).
Quindi c'è una domanda principale: come modificare il nostro software per essere in tempo reale? Ho cercato su Google molto, ma non ho ancora idea di come farlo.
Alcune informazioni aggiuntive sulle nostre piattaforme: Linux e Windows attualmente utilizziamo solo a scopo di test. Android: non abbiamo ancora deciso se ne abbiamo bisogno. QNX - è il nostro sistema operativo di destinazione per la produzione. Immagino che la risposta alla mia prossima domanda sia "NO" :) Ma è possibile implementare software in tempo reale multipiattaforma (per sistemi operativi in tempo reale (RTOS) e per sistemi operativi generici (GPOS))?
Forse dobbiamo impegnarci per implementare tutte le funzionalità in tempo reale solo per QNX? Ma ancora non capisco come farlo. Qualcuno potrebbe fare luce su questa domanda?