Po raz pierwszy chciałbym wspomnieć, że jestem nowicjuszem w programowaniu systemów czasu rzeczywistego. Dlatego nie jestem pewien, czy moje pytania są prawidłowe. Przepraszam za to Ale potrzebuję pomocy
Pytanie w skrócie: Jak wdrożyć twarde oprogramowanie czasu rzeczywistego, aby mieć pewność, że dotrzyma on trudnych terminów? Czy konieczne jest użycie niektórych funkcji QNX? A może wystarczy napisać to dla Linuksa, podłączyć do QNX i domyślnie będzie to czas rzeczywisty?
Pełne pytanie: wdrożyliśmy złożone, wieloplatformowe oprogramowanie wieloprocesowe z komunikacją między procesami dla systemów Linux, Windows, Android i QNX. Językiem programowania jest C ++, używamy Boost i planty innych bibliotek. Nasze oprogramowanie działa dobrze i szybko, ale nadal jest prototypowe. Do celów produkcyjnych musimy to robić w czasie rzeczywistym Niektóre z naszych funkcji muszą być działające w czasie rzeczywistym i bardzo niezawodne, ponieważ są one bardzo ważne, a bezpieczeństwo osób korzystających z naszego oprogramowania może zależeć od nich. Działają dość szybko - do setek milisekund. Ale nie jestem pewien, czy nasz system działa w czasie rzeczywistym z tego powodu (mam rację?).
Jest więc główne pytanie: jak zmodyfikować nasze oprogramowanie, aby działało w czasie rzeczywistym? Często googlowałem, ale wciąż nie mam pojęcia, jak to zrobić.
Niektóre dodatkowe informacje o naszych platformach: Linux i Windows, których obecnie używamy tylko do celów testowych. Android - wciąż nie zdecydowaliśmy, czy go potrzebujemy. QNX - to nasz docelowy system operacyjny do produkcji. Wydaje mi się, że odpowiedź na moje następne pytanie brzmi „NIE” :) Ale czy w ogóle można wszczepić wieloplatformowe oprogramowanie czasu rzeczywistego (dla systemów czasu rzeczywistego (RTOS), a także dla systemów ogólnych (GPOS))?
Być może musimy podjąć wysiłki, aby wdrożyć wszystkie funkcje w czasie rzeczywistym tylko dla QNX? Ale nadal nie rozumiem, jak to zrobić. Czy ktoś mógłby rzucić światło na to pytanie?