Untuk yang pertama saya ingin menyebutkan bahwa saya pemula dalam pemrograman sistem real-time. Itu sebabnya saya tidak yakin apakah pertanyaan saya benar. Maaf untuk itu Tapi saya butuh bantuan
Pertanyaan singkatnya: Bagaimana menerapkan perangkat lunak waktu nyata yang keras untuk memastikannya memenuhi tenggat waktu yang sulit? Apakah perlu menggunakan beberapa fitur QNX? Atau hanya cukup untuk menulisnya untuk linux, port ke QNX dan itu akan secara real-time secara default?
Pertanyaan lengkap: Kami telah mengimplementasikan beberapa perangkat lunak multi-platform lintas platform yang kompleks dengan komunikasi antar-proses untuk Linux, Windows, Android dan QNX. Bahasa pemrogramannya adalah C ++, kami menggunakan Boost dan planty libs lainnya. Perangkat lunak kami melakukan pekerjaan dengan baik dan cepat tetapi masih berupa prototipe. Untuk keperluan produksi, kita perlu melakukannya dalam waktu nyata. Beberapa fitur kita harus dalam waktu nyata dan sangat kuat karena sangat penting dan keselamatan orang yang menggunakan perangkat lunak kita mungkin bergantung padanya. Mereka bekerja sangat cepat - hingga ratusan milidetik. Tetapi saya tidak yakin bahwa sistem kami benar-benar real-time karena fakta ini (apakah saya benar?).
Jadi ada pertanyaan utama: bagaimana cara memodifikasi perangkat lunak kita menjadi waktu nyata? Saya sudah banyak mencari di Google tetapi saya masih tidak tahu bagaimana melakukannya.
Beberapa informasi tambahan tentang platform kami: Linux dan Windows yang saat ini kami gunakan hanya untuk tujuan pengujian. Android - kami masih belum memutuskan apakah kami membutuhkannya. QNX - adalah OS target kami untuk produksi. Saya kira jawaban untuk pertanyaan saya berikutnya adalah "TIDAK" :) Tetapi apakah mungkin untuk menggunakan perangkat lunak real-time lintas platform (untuk OS real-time (RTOS) serta untuk keperluan umum OS (GPOS))?
Mungkin kita perlu melakukan upaya untuk mengimplementasikan semua fitur waktu-nyata hanya untuk QNX? Tetapi saya masih tidak mengerti bagaimana melakukannya. Bisakah seseorang menjelaskan pertanyaan ini?