Académique Documents
Professionnel Documents
Culture Documents
GROUPE 4
MEMBRES DU GROUPE :
GROUPE 4
1
INF 464 Ingénierie des systèmes temps réels et embarques Enseignants : Dr MESSI & Mr NJITCHE CESAIRE
PLAN
• INTRODUCTION
• TUYAU
• Blocs de contrôle de canalisation
• Opérations de tuyauterie typiques
• Registres d'événements
• LES SIGNAUX
• BLOCS DE CONTRÔLE DES SIGNAUX
• OPERATIONS TYPIQUES DES SIGNAUX
2
INTRODUCTION
• En plus des objets clés du noyau, tels que les tâches, les sémaphores et
les files d'attente de messages, les noyaux fournissent également de
nombreux autres objets importants. Comme chaque noyau est
différent, le nombre d'objets pris en charge par un noyau donné peut
varier d'un noyau à l'autre.
• Ce chapitre explore des objets noyau supplémentaires communs au
développement de systèmes embarqués, bien que la liste présentée ici
ne soit certainement pas exhaustive.
3
LES TUYAUX
• Les tuyaux sont des objets du noyau qui fournissent un échange de données
non structuré et facilitent la synchronisation entre les tâches.
• Dans une implémentation traditionnelle, un tuyau est une installation
d'échange de données unidirectionnelle, comme le montre la figure 1 suivante
• Deux descripteurs, un pour chaque extrémité du tube (un pour la lecture et
un pour l'écriture), sont renvoyés lors de la création du tube. Les données sont
écrites via un descripteur et lues via l'autre. Les données restent dans le tube
sous la forme d'un flux d'octets non structuré. Les données sont lues à partir
du tube dans l'ordre FIFO
4
LES TUYAUX(SUITE)
6
Blocs de contrôle de canalisation
8
Canalisations nommées et non nommées
10
Utilisations typiques des tuyaux
11
UTILISATIONS TYPIQUES DES
TUYAUX(SUITE)
12
FIGURE 4 UTILISATION DE TUYAUX POUR LA SYNCHRONISATION INTER-TÂCHES
REGISTRES D'ÉVÉNEMENTS
13
LES SIGNAUX
14
BLOCS DE CONTRÔLE DES SIGNAUX
15
BLOCS DE CONTRÔLE DES SIGNAUX
(SUITE)
• Lorsqu'une tâche est prête à gérer un signal, on dit souvent que la tâche est
prête à capter le signal. Lorsqu'un signal interrompt une tâche, on dit souvent
que le signal est élevé à la tâche. La tâche peut fournir un gestionnaire de signal
pour chaque signal à traiter, ou elle peut exécuter un gestionnaire par défaut
fourni par le noyau. Il est possible d'avoir un seul gestionnaire pour plusieurs
types de signaux.
16
OPERATIONS TYPIQUES DES
SIGNAUX
17
OPERATEUR CATCH
18
OPERATEUR SEND
• L'opération d'envoi permet à une tâche d'envoyer un signal à une autre tâche.
Les signaux sont généralement associés à des événements matériels qui se
produisent pendant l'exécution d'une tâche, tels que la génération d'une adresse
mémoire non alignée ou une exception à virgule flottante. De tels signaux sont
générés automatiquement lorsque les événements correspondants se produisent.
Les
19
OPERATEUR IGNORE
20
OPERATEUR BLOCK
• L'opération de bloc ne provoque pas l'ignorance des signaux mais les empêche
temporairement d'être délivrés à une tâche. L'opération de bloc protège les
sections critiques du code contre les interruptions. Une autre raison de bloquer
un signal est d'éviter les conflits lorsque le gestionnaire de signal est déjà en
cours d'exécution et est en train de traiter le même signal. Un signal reste en
attente tant qu’il est bloqué.
21
OPERATEUR UNLOCK
22
UTILISATION TYPIQUES DES
SIGNAUX
• Les signaux peuvent également être utilisés pour la synchronisation entre les
tâches. Cependant, les signaux doivent être utilisés avec parcimonie pour les
raisons suivantes :
23
UTILISATION TYPIQUES DES
SIGNAUX (SUITE)
• Les tâches utilisent souvent des ressources partagées, telles que des fichiers et
des canaux de communication. Lorsqu'une tâche doit utiliser une telle
ressource, elle peut avoir besoin d'attendre que la ressource soit dans un état
particulier. La façon dont la ressource atteint cet état peut se faire par l'action
d'une autre tâche. Dans un tel scénario, une tâche a besoin d'un moyen pour
déterminer l'état de la ressource.
25