Le but de ce cours est de comprendre comment fonctionne un système temps réel et comment s’assurer qu’il va fonctionner correctement. On verra quels sont les différentes manières de le protéger des bugs logiciel ou bien d’électronique qui ne fonctionne plus.
Le cours se découpe en deux parties :
Commençons d’abord par quelques définitions importantes :
Cela peut-être assez contre intuitf car certain système que l’on utilise tous les jours nous semble à temps réels notamment une messagerie électronique comme messenger par exemple n’est pas un système à temsp réel car il n’y a pas de contrainte de temps come sur un système d’exploitation par exemple.
Un système de traitement de l’information est appelé à remplir une mission :
Il y a deux façons de de contrôler un système embarqué :
Pour le réaliser il y a deux différentes parties :
On va voir cette deux différentes parties.
Les logiciels sont responsables d’une grande partie des bugs d’un système embarqué. C’est pour cela qu’il est nécessaire d’avoir certaines règles qui différencient un bon logiciel d’un mauvais.
Il y a deux façons d’écrire un programme :
La programmation multitâches : Permet d’éxécuter une fonction et de l’interrompre pour une autre fonction qui serait plus importante. L’avantage de cette solution c’est une grande souplesse avec plusieurs d’optimisations possible.L’inconvénient est être sur que les ressources ne soit pas utilisé par les mêmes fonctions en même temps.
Programmation en boucle : On écrit le programme fonction après fonction. Pas d’interruption possible d’une fonction à une autre. L’avantage de ce type de programmation, c’est que c’est très simple, limite les problèmes d’interruptions. L’inconvénient de ce type de programmation est qu’il est rigide et peu perfomant.
Il y a deux moment dans la durée de vie d’un logiciel ou les bugs sont souvent présents : lors de la conception du logiciel ou l’on a des bugs de réalisation et après chaque mise à jour du logiciel qui ajoute des bugs en plus.
Un système critique est un système à temps réel qui risque de disfonctionner si les contraintes temporelles ne sont pas respectées. On peut notamment citer comme exemple un système d’alarme qui doit prévenir d’un problème : il est essentiel qu’elle previenne le plus tôt du risque plutôt que trop tard.
On va voir quelles sont les règles
Si un système critique à temps réel dépasse le temps auquel il aurait du réponde on a une faille de sécurité avec un incident avec un impact sur la vie humaine.