introduction aux concepts temps reelsystemesembarques.e-monsite.com/medias/files/c-str.pdf ·...
TRANSCRIPT
1
INTRODUCTION AUX CONCEPTS TEMPS REEL
I- RAPPEL A LA NOTION DE MULTITACHE
Définition de multitâche
L'objectif principal de la notion de
multitâche est d'exploiter le plus efficacement
possible toutes les ressources d'un système
informatique.
Le système d'exploitation doit alors :
mettre en oeuvre les règles de possession et
de partage de ressources.
définir les compétiteurs (processus) et les
contrôler tout au long de leurs exécution.
Donc, les programmes susceptibles de partager les
différentes ressources doivent être indépendantes les
uns des autres.
Une telle approche caractérise le multitâche.
Cours STR TAYARI.L ISET NABEUL
2
Un processus est donc caractérisé par un
descripteur indiquant son contexte:
Un espace mémoire (code, données, pile)
le nom du processus.
La priorité, permettant de quantifier le degré
d'urgence du processus.
Un droit d'accès, spécifiant les ressources
matérielles et logicielles accessibles par le
processus.
Un identifiant de l'état instantané du
processus (actif, en attente, bloqué)?
La notion de processus
Un processus est une entité dynamique qui met en
oeuvre un ou plusieurs programmes statiques en vue de
la réalisation d'une activité donnée par un processeur.
Un processus est fonction du temps, il peut être créé,
exécuté ou encore détruit.
Cours STR TAYARI.L ISET NABEUL
3
Un appel système est un service élémentaire fournis
par le système pour accomplir certaines actions
interdites en mode utilisateur.
Pour la gestion des tâches:
Créer_processus(): Elle retourne un identificateur
de processus.
Activer_processus(): permet de rendre un
processus éligible (prêt) et peut-être même élu selon sa
priorité et celle du processus en cours.
Désactiver_processus(): Consiste généralement à
faire passer un processus à l'état hors-service (bloqué)
Terminer_processus(): Permet de s'assurer de la fin
cohérente du processus.
Les appels systèmes
Cours STR TAYARI.L ISET NABEUL
4
La communication et la synchronisation
En environnement multitâches, les processus
coopèrent en vue de la réalisation d'une activité commune.
On distingue deux sortent de coopération:
La coopération temporelle: fait intervenir les notions
de blocage et de déblocage de processus.
(Synchronisation)
La coopération spatiale: se rapporte à l'échange
d'information entre processus. (Communication) 1. La synchronisation
On distingue 4 catégories de relations entre les processus:
Les processus indépendants.
Les processus ayant accès à des ressources communes.
Les processus liés.
Les processus à contrainte de temps.(urgence de traitement).
2. La communication:
Il existe plusieurs méthodes de communication
de données entre tâches. Les plus courantes sont :
les boites à lettres (messages)
les files d'attentes
Cours STR TAYARI.L ISET NABEUL
Dans le cas des processus ayant accès à des
ressources communes, on doit prévoir des mécanismes
pour assurer le partage de ses derniers.
les événements (signaux)
les sémaphores
les rendez-vous
5
Le déroulement des processus temps réel est
dépendant des événement externes à l'ordinateur.
Plusieurs tâches peuvent se trouver en concurrence pour
l'octroi de l'unité centrale. Ce conflit est levé en
accordant à chaque tâche un niveau de priorité. Ainsi
celle de plus grande priorité est exécuté en premier.
Ordonnancement des ressources
L'ordonnenceur (scheduler)
L'ordonnenceur d'un environnement temps réel
est le responsable de la gestion de l'allocation du
processeur. L'ordonnenceur à deux rôles essentiels:
assurer la gestion des commutation de tâches de l'état
bloqué à l'état éligible .
assurer la gestion des commutation des tâches de
l'état éligible à l'état élu.
?
SELECTION
(Dispatcher)DEBLOCAGE
DES PROCESSUS
Table des
événements
associés aux
processus
Bloqués
Table des
processus
Bloqués
Table des
processus
Eligibles
Processus ELU
ROLE DE L'ORDONNENCEUR
Cours STR TAYARI.L ISET NABEUL
6
Donc:
le système informatique est asservi à l'évolution
dynamique du procédé à commander.
Un système temps réel est alors un système ayant
des état finis et stable.
II/ LES SPÉCIFICTÉS TEMPS RÉEL
a- Définition:
On ne peut parler d'un système temps réel (STR),
que si on a un système informatique et un procédé à
commander.
Ce système informatique doit répondre dans un temps
garanti au événements en provenance du procédé.
Cours STR TAYARI.L ISET NABEUL
PROCEDE A
COMMANDERSYSTEME
INFORMATIQUE
Action
Information sur
état
(événement)
Environnement
ETAT1
ETA2
événement 1
action 1
7
b- Système informatique :
Généralement le système informatique est un système
multitâches. Plusieurs solutions sont envisageable:
PC+[(NTR) ou Carte NTR]
UNIX + NTR (Noyau temps réel)
Exemple: NTR ou A6RMTR ou PSOS ou Vxworks
Système d'exploitation temps réel:Exemple: OS9
c- Procédés à commander:
Moteur : Axe d'un robot
Robot: N Axes à commander
Four électrique
Avion
Militaire (guidage de missile ... etc.)
Télécommunication
Exemple: Soit un système embarqué à bord d'avion, qui
a pour but de fournir la position instantanée de celui-
ci, par rapport à un point de référence, en fonction des
différents paramètres d'entrées à partir d'un certain
nombre de capteurs.
Le temps de traitement global est le temps mis pour:
acquérir:toutes les données fournies par les
capteurs
traiter: ces données
fournir: un résultat.
Cours STR TAYARI.L ISET NABEUL
8
On peut ainsi décomposer ces trois traitements en trois
tâches distinctes et indépendantes.
Si T1 = temps d'acquisition
T2 = temps de traitement
T3 = temps mis pour fournir le résultat
et Tlim = le temps limite à respecter.
Il faut donc que T1 + T2 + T3 < Tlim pour que
notre système fonctionne en temps réel
Communication
TACHE2 TACHE3Communicatio
TACHE1-TACHE2Interruption
périphériqueTACHE 3TACHE 2TACHE 1
Stockage et
affichage de
RESULTAT
temps=T3
Traitement de
données
temps=T2
Acquisistion de
données
temps=T1
Avec [ T1 + T2 + T3 <TEMPS LIMITE ]
Cours STR TAYARI.L ISET NABEUL
9
Donc : La définition d'une application temps réel est
caractérisée avant tout par la synchronisation entre
le traitement de l'information et la génération de
données issues du monde extérieur.
Un programme temps réel fonctionne sous
contrôle des sollicitations du monde extérieur, par
opposition à un programme classique linéaire qui
commande les flots de données en entrée et/ou en
sortie.
Exemple:
Scrutation sur une variable analogique.
information à durée de validité aléatoire
(comptage des objets) passant devant un
détecteur(capteur).
Cours STR TAYARI.L ISET NABEUL
10
Le fonctionnement en temps réel d'un
système impose des contraintes sur le système
(matériel et logiciel).
Sur le système:
Les contraintes regroupent tous les problèmes
liés à la sécurité et à la sûreté de fonctionnement
et pouvant entraîné sa dégradation.
Il faut donc mémoriser l'effet de défaillance.
Exemple: Dans une chaîne de montage
d'automobile, L'arrêt d'une machine ne doit pas
arrêter le fonctionnement de toute la chaîne de
production.
Sur les logiciels:
Les logiciels temps réel, doivent permettre une
mise en oeuvre de la gestion des relations entre les
processus par la mise à la disposition de langages
adaptés et d'instructions spécialisées à ces langages.
Donc, le problème des contraintes de temps consistent
à pouvoir traiter l'information suffisamment vite
pour que l'action résultante ait un sens, tout en restant
dans les limites de fonctionnement normal de la
machine.
Cours STR TAYARI.L ISET NABEUL
D- les contraintes temps réel:
11
La validité des informations dans le temps
Certaines informations ne sont valables qu'a l'instant où
elles sont fournies, ou durant un laps de temps déterminé.
Ces informations n'ont d'utilité que lorsqu'elles sont
vraies et se dégradent dans le temps.
Dans un système temps réel, il faudra exploiter les
informations durant leurs période de validité.
Pour fournir une réponse, un système doit reconnaître,
traiter et sortir un résultat.
Le temps de réponse TR est le suivant:
TR = Tcalcul + TE/S
L'urgence et les délais
Le phénomène de délai est associé au temps de
réponse.
Le phénomène d'urgence est lié à la rapidité de
traitement.
Le traitement d'urgence
L'urgence est le résultat de respecter le temps maximal
autorisé pour réaliser un traitement.
Dans un système temps réel, certains traitement ont
besoin d'être effectués avant d'autres par ce qu'ils sont
plus urgents.
Cours STR TAYARI.L ISET NABEUL
E- Le facteur temps
12
Le déterminisme (délai)
Le phénomène de délai (déterminisme) impose
l'exécution d'un traitement dans un temps maximal qu'on
définit.
Ce délai est déterminé en fonction du matériel
(processeur) utilisé et de l'exécutif temps réel (temps de
commutation).
Traitement de
l'interruption
TACHE ATACHE A
DELAI URGENCE
Arrivée d'une
interruption
URGENCE ET DELAI
Cours STR TAYARI.L ISET NABEUL
13
La préemption
La préemption est la réquisition du processus pour
l'exécution d'une tâche et d'une seule pendant un
temps déterminé.
la préemption est le fait de tenir compte le critère
d'urgence de traitement.
La préemption ne s'applique qu'a la tâche de plus
haute priorité.
Tâche préemptive
tn
t3
t2
t1t1
MultitâcheMultitâche Réquisition du
processur pour une
tâche (unique)
Cours STR TAYARI.L ISET NABEUL
14
L'ENVIRONNEMENT TEMPS REEL
tout outil se rattachant à la mise en oeuvre d'une
application temps réel.
Ces outils découvrent les différentes étapes de
développement d'un système temps réel.
des outils pour la spécification, la conception et le
codage.
C'est le génie logiciel
I/ LE GENIE LOGICIEL ET LE TEMPS REEL
1/ Le génie logiciel (définition)
"Le génie logiciel est l'ensemble de méthodes,
outils et techniques, dont l'application permet un
processus de réalisation de produits logiciels et de
qualité industrielle. Cette réalisation doit répondre à
des impératifs de délais, coûts, qualité, fiabilité et
réutilisabilité malgré des difficultés inhérentes à la
complexité du problème de l'environnement"
A.DORSEUIL et P.PILLOT.
Cours STR TAYARI.L ISET NABEUL
15
2/ Cycle de vie d'un système
La vie de tout système informatisé peut être
décomposée en trois stades:
L'expression du besoin auquel il doit répondre
(cahier des charges).
son développement (spécification, conception,
codage, intégration et test).
son exploitation et sa maintenance.
Expression des besoins
Cette étape se décompose en deux opérations :
l'identification des besoins.
L'étude de faisabilité du système.
Développement d'un système
Le développement d'un système comporte les
phases de spécification, de conception, de
construction, d'intégration et de validation.
L'ensemble de ces phases porte le nom de cycle
de développement d'un système. La réalisation
technologique va de sa conception à son
intégration.
Cours STR TAYARI.L ISET NABEUL
16
La spécification La spécification d'un système est l'expression
technique du besoin auquel il doit répondre.
C'est une description standard du comportement et
de l'environnement du système sans faire appel à des
considérations informatiques.
Donc, la spécification a pour but de répondre à la
question "que faire?"
La conception consiste à proposer une architecture informatique
globale et une façon à suivre pour la construction.
Donc, la conception a pour but de répondre à la
question "comment faire?"
On distingue deux phases:
La conception préliminaire: fournit
l'architecture globale du système.
La conception détaillée: fournit les détails à
faire pour la partie logicielle et pour la partie
matérielle.
Cours STR TAYARI.L ISET NABEUL
17
La construction C'est l'application de la conception détaillée, elle se
décompose en phases spécifiques pour logiciel et
pour matériel:
Pour le logiciel : codage, tests unitaire et
intégration.
Pour le matériel: fabrication du prototype, test
et mesure
Intégration C'est la phase de l'unification du logiciel et du
prototype matériel, en présence du processus à
conduire.
La validation La validation d'un système consiste à établir qu'il est
conforme aux besoins exprimés par le demandeur.
Cours STR TAYARI.L ISET NABEUL
18
"cycle en cascade"
Cahier des charges
Spécification
système
Spécification
logiciel/performance
Conception
préliminaire
Conception
détaillée
Codage
programmation
Tests unitaires
Tests d’intégration
Tests de
performance
Tests d’intégration
système
Evaluation et test
opérationnel
Besoin Produit
CERTIFICATION
VALIDATION
VALIDATION
VERIFICATION
Spécification
Conception
Validation
Réalisation
[CALVEZ]
Spécification Conception
Développement
Test et évaluation Fonctionnement
et maintenancet
Cours STR TAYARI.L ISET NABEUL
19
"cycle en cascade"
Conception
détaillée du
logiciel
Conception
détaillée du
logiciel
Conception
détaillée du
matériel
Validation
système
Spécification
système
Intégration
système
Construction
du logiciel
Construction
du matériel
Système
final
Système intégré
Prototype
matériel
Logiciel de
référence
Expression
du besoin
Axe de symétrie
Cycle de développement en cascade
Cours STR TAYARI.L ISET NABEUL