Академический Документы
Профессиональный Документы
Культура Документы
3
Définitions
La programmation multitâche est facilitée par des outils logiciels appelés:
Système d’exploitation temps réel (SETR)
Noyau ou exécutif ou moniteur multitâche temps réel
Le système d’exploitation temps réel fournit un support logiciel complet et
les tâches sont généralement des programmes complets et portant le
nom de processus.
Le noyau est destiné à être utilisé soit sans SE, soit en complément d’un
système d’exploitation et les tâches sont des procédures d’un même
programme.
4
Architecture Globale d’une Application TR
L’exécutif temps réel est une surcouche du noyau temps réel: elle offre
des services nécessaires à l’utilisation des E/S, du réseau, du fichier, du
Timer….
5
Architecture Globale d’une Application TR
5
Définitions
6
Modèle d’une tâche dans un système multitâches
Une tâche (ou thread) est un programme qui s’exécute normalement en pensant avoir le
contrôle exclusif du processeur.
9
Modèle d’une tâche dans un système multitâches
La plupart des applications temps réel exigent une exécution parallèle de plusieurs
activités
➢ utilisation optimale des ressources
➢ gain de temps quand c'est possible
➢ mais les exigences en termes de conception sont plus grandes
Une autre définition considère la tâche comme un fil d'exécution indépendant qui peut
entrer en compétition avec d'autres fils pour accéder au CPU, elle est utilisée pour
optimiser la gestion des entrées/sorties
9
Modèle d’une tâche dans un système multitâches
9
Modèle d’une tâche dans un système multitâches
a) Identificateur : Généralement c'est un entier géré par le NTR pour identifier chaque tâche
de l'application.
b) Adresse de début d’exécution de la tâche : C’est le nom de la tâche dans le langage C.
c) Niveau de priorité : C’est une valeur entière allouée à chaque tâche traduisant son niveau
d’importance dans l’application.
d) Etat : C’est l’état d’une tâche à un instant donnée de la vie d’une application.
Bloc de contrôle
Les données du contexte d'une tâche sont regroupées dans une structure ou un tableau qui est
appelé le bloc de contrôle d'une tâche "BC".
•A chaque tâche correspond un BC. Un fichier ou structure d'initialisation de l'application
indique (au noyau le nombre des BCs à créer pour gérer les tâches de l'application.
•Les BCs sont appelés aussi descripteur de tâches. Les BCs sont chaînés. Chaque bloc pointe
vers le précèdent et le suivant.
•Le bloc de contrôle de la dernière tâche a un pointeur NULL. Une des possibles
11
Modèle d’une tâche dans un système multitâches
9
Modèle d’une tâche dans un système multitâches
L’allocation de ces zones est assurée par l’exécutif, qui dispose d’un gestionnaire mémoire
lui permettant lors du lancement d’un processus, d’attribuer à celui-ci, des pointeurs
contenant l’adresse du début de chacune des trois zones citées. Ces pointeurs feront partie du
contexte du processus lancé.
9
Modèle d’une tâche dans un système multitâches
9
Modèle d’une tâche dans un système multitâches
13
Modèle d’une tâche dans un système multitâches
14
Modèle d’une tâche dans un système multitâches
15
Modèle d’une tâche dans un système multitâches
Une tâche reste dans cet état tant qu’elle est prioritaire et ne rencontre
pas une condition de blocage
1
Modèle d’une tâche dans un système multitâches
17
Modèle d’une tâche dans un système multitâches
18
Modèle d’une tâche dans un système multitâches
20
Gestion multitâches, ordonnancement
27
Gestion multitâches, ordonnancement
28
Gestion multitâches, ordonnancement
29