INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf ·...

19
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

Transcript of INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf ·...

Page 1: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 2: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 3: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 4: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 5: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 6: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 7: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 8: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 9: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 10: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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:

Page 11: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 12: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 13: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 14: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 15: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 16: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 17: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 18: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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

Page 19: INTRODUCTION AUX CONCEPTS TEMPS REELsystemesembarques.e-monsite.com/medias/files/c-str.pdf · INTRODUCTION AUX CONCEPTS ... Cours STR TAYARI.L ISET NABEUL . 2 Un processus est donc

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