Professional Documents
Culture Documents
Pr Cherkaoui Ouamah
Objectif :
Pr Cherkaoui Ouamah
Domaine applicatif :
Pr Cherkaoui Ouamah
Dfinition : systmes temps rel
Pr Cherkaoui Ouamah
Interface entre un STR et son environnement
Pr Cherkaoui Ouamah
Dfinition : systmes ractifs temps rel
vnement vnement
Entre SYSTME RACTIF Sortie
Stimuli TEMPS REL Ractions
Capteurs Actionneurs
Pr Cherkaoui Ouamah
validit d'un systme temps rel
Pr Cherkaoui Ouamah
Diffrentes classes de systmes TR
Pr Cherkaoui Ouamah
Rappel rapide sur les types de SE
Pr Cherkaoui Ouamah
Multiprogrammation
(programmation multitches)
Ressources matriel
application
UC Disque
MC
application
Donne
code Fichier
Pr Cherkaoui Ouamah
Quantum : temps attribu
chaque user Terminaison de u2 le
quantum nest pas
compltement consomm
u1 u2 u3 u1 u2 u3 u1 u2 u3 u1 u2 u3 u1 u3 u1 t
Pr Cherkaoui Ouamah
u3
Rle de lordonnanceur:
Choix de luser entrant
Commutation dutilisateurs sur le CPU:
u1 u2 u3 u1 t
u4 u1
ordonnancement
Robinet ordonnancement
Tournant
u2
u3
ordonnancement
Pr Cherkaoui Ouamah
Prsentation du TP N 1
Pr Cherkaoui Ouamah
Notion de Tche
Pr Cherkaoui Ouamah
Informations associes une tche
Pour lutilisateur :
Code du programme
Donnes du programme
Pour le Noyau du SE :
Descripteur de tche :
Etat de la tache
Etat du processeur (contexte machine ; en multiprocesseur)
ATTRIBUTS (priorit,..
Moyens de communication /synchronisation
Espace mmoire accessible
Pr Cherkaoui Ouamah
Multiprogrammation: Etats de la tche
inexistant
CREATION
FIN
DEXECUTION
PRET
Arrive de
lvnement
attendu
Interruption
Ordonnanceur
En Cours
En Attente : dEXECUTION
ATTENTE Evnement
Dure
Libration dune
Pr Cherkaoui Ouamah
ressource
Multiprogrammation
priorit des tches
:
PRIORIT : cest le critre sur lequel
sappuie lordonnanceur pour
dterminer, parmi les taches prtes,
celle qui doit poursuivre son
excution
Multiprogrammation priorit des tches
Temporelle : DORMIR
Evnementielle (de lextrieur ) interruptions
Entre les tches ATTENDRE SIGNALER
ACCES AUX RESSOURCES
DEMANDER
LIBERER
COMMUNICATION ENTRE TACHES
PAR MESSAGE
ENVOYER RECEVOIR
CRER
Id_TACHE <-CRER (programmes, attributs)
Id_TACHE : identifiant attribu par le noyau
Programmes : nom du fichier excutable ou id
Attributs : priorit pouvoir autres
DETRUIRE
TERMINER_TACHE()
De sa propre initiative
Forc par le noyau
Par toute autre tache qui possde l Id_TACHE
SYNCHRONISATION
Evnementielle entre les tches
ATTENDRE ( Numero_Evenement)
(primitive lance par la tache en attente de lvnement )
Si (vnement est arriv)
Effacer vnement
Le tache continue de se drouler
Sinon
La tache est mise ltat ATTENTE
Finsi
Multiprogrammation: Etats de la tche
Inexistant
CREATION
FIN
DEXECUTION
PRET
Arrive de
lvnement
attendu
Interruption
Ordonnanceur
En En Cours
ATTEN Attente : dEXECUTION
TE Evnement
Dure
Libration dune
ressource
SYNCHRONISATION
Evnementielle entre les tches
FinSi
Graphe de prcdence
T2
T3
T4
T5 T6
T7
EXEMPLE
FEU COUPLES
COMMANDENT
VOIE A
VOIE A
VOIE B
CAPTEURS
FEU COUPLES
dtectant la prsence
COMMANDENT
de vhicules
VOIE B
Systme de dveloppement
5
PRETE
a
6
2 8
3
Suspendue
9
Endormie Active
4
7
b
d
Endormie /
c Suspendue e
Structure gnrale dun programme
$include
Dclaration de variables
Proc1: procedure(.);
Fin_proc proc1
Proc2: procedure(.);
Fin_proc proc2
Tache1 : procedure;
Fin_proc tache1
Tache2 : procedure;
Fin_proc tache2
Debut
Tache_jt 1=rq$create$task(p1, @tache.);
Tache_jt 2=rq$create$task(p2, @tache.);
.
.
.
retour_job
fin
Structure gnrale dun programme
Prog : do;
$include
/*Dclaration de variables*/
dcl (temps, duree_max, duree, cd_ret) mot;
dcl chrono_jt jeton;
Debut
Duree_max = 5000;
Duree= 100
Chrono_jt =rq$create$task(130, @chrono,param-tache);
Call rq$sleep(duree_max, @cd_ret) ;
Call rq$delete$task(chrono_jt,param-tache);
Tache_jt 2=rq$create$task(p2, @tache.);
retour_job;
fin
fin_module prog;