2010-09-21 8 views
-1

Mon problème est de comprendre la programmation sur le système en temps réel. Je suis confus à propos de ce sujet. Que puis-je faire et ce que je ne peux pas faire dans mon code source? Je sais qu'il y a des choses à faire pendant la programmation du code source, mais je ne sais pas exactement quoi. Quelques exemples. Est possibile en utilisant l'allocation de mémoire dynamique (nouveau)? Est-il possible d'accéder au disque en temps réel? Quel type d'IPC (communication interprocessus) puis-je utiliser? Puis-je utiliser le verrouillage interprocessus standard? Et ce qui est avec le verrouillage de fichier? J'ai cherché sur internet mais je n'ai pas trouvé ce que je voulais. Où puis-je mieux comprendre ces problèmes? J'espère que quelqu'un peut m'aider. Désolé pour mon anglais!Programmation sur un système en temps réel

Répondre

0

pouvez pouvez faire ce que votre langue/compilateur de choix prend en charge.

Ce que vous devrait faire maintenant, cela dépend vraiment de ce qui est le système cible, quel est votre programme (vous pourriez écrire un OS pour tout ce que je sais), etc ...

0

système en temps réel est tout à propos de la détermination - un calendrier fixe pour chacun. Check this out pour quelques lignes directrices:

http://cs.brown.edu/~ugur/8rulesSigRec.pdf

What defines a real-time/near-real time system?

Du côté logiciel (votre focus):

a. Évitez la mise en mémoire tampon ou la mise en cache dans votre code. La mise en cache vise à accélérer le traitement ultérieur après le premier, mais il en résulte une indétermination du temps.

b. Minimiser les branchements conditionnels, car cela générera un chemin différent entraînant un timing différent, ceci est particulièrement important pour le composant sensible au temps.

c. Évitez la conception asynchrone ou basée sur l'interruption. Utilisez l'interrogation chaque fois que possible - cela augmentera la prévisibilité du timing.

d. Utilisez un OS en temps réel (comme LynxOS RTOS) autant que possible. Il a une grande réactivité et prévisibilité dans son traitement. Mais si vous regardez ses internes, vous verrez qu'il saute beaucoup de traitement d'erreur, il a un seuil bas pour le nombre maximum de processus qu'il peut engendrer etc. Autrement dit, il y a toujours beaucoup de puissance de calcul de processeur de rechange restante, pour assurer que la réactivité est là. Bien sûr, au moment où vous avez poussé les chiffres à leurs limites (par exemple, engendrant beaucoup de processus), le comportement en temps réel de LynxOS ne se manifeste plus.

Juste beaucoup de bon sens appliqué lorsque vous faites du codage .....

Questions connexes