I.5.2. Architecture Multitâche
Le développement d'un système multitâche
exige deux types d'architecture qui doivent être utilisées
conjointement. Il s'agit d'une architecture matérielle et d'une
architecture logicielle.
I.5.2.1. Architecture matérielle
L'architecture matérielle est constituée des
interfaces permettant de piloter le procédé et de recueillir des
informations en provenance de ce dernier. Comme exemple, nous avons les cartes
d'entrée/sortie qui peuvent être analogique ou
numérique.
I.5.2.2. Architecture logicielle Multitâche
L'architecture logicielle permet d'assurer le bon
fonctionnement du système. Cette architecture est la mieux
adaptée pour un système temps réel embarqué
utilisant plusieurs tâches qui s'exécutent d'une manière
simultanée (fonctionnant en parallèle). Elle conduit
naturellement à adapter les méthodes de conception et de
réalisation de système de contrôle-commande d'un tel
environnement à ce parallélisme.
Dans une telle approche les tâches sont
considérées comme étant des agents autonomes. Dès
lors une tâche peut être définie comme une entité
d'exécution et de structuration d'une application.
Cette architecture facilite la conception et la mise en oeuvre
et surtout augmente l'évolutivité de l'application
développée.
Suite à la forte présence du parallélisme
dont le système fait face, ce dernier doit être en mesure de
gérer la synchronisation des tâches, l'accès concurrent des
tâches à des ressources partagées, l'ordonnancement des
tâches et la communication.
D'une manière générale, il existe deux
types de tâche : tâche immédiate et tâche
différée. Les tâches immédiates sont des
tâches programmées et servant d'interface entre le système
et son environnement. On peut utiliser les mécanismes d'interruption
pour réaliser son exécution.
Les tâches d'entrée/sortie, les tâches de
gestion de l'interface de l'utilisateur, tâches de communications
constituent les tâches immédiates.
? Tâches d'entrée/sortie : ces tâches
permettent d'accéder aux données externes par
l'intermédiaire des cartes d'entrée/sortie et en suite par des
capteurs, des actionneurs directement liés au procédé
géré.
? Tâches de gestion de l'interface de l'utilisateur :
ces tâches comme leur nom l'indique, permettent à l'utilisateur de
mieux gérer le procédé en lui présentant son
état actuel, à l'aide d'une interface qui peut être soit un
tableau de bord ou encore une interface graphique en 3D.
? Tâches de communications : celles-ci permettent de
gérer les messages envoyés et reçus provenant de plusieurs
réseaux ou bus ; si ces genre des tâches existent alors le
système est dit distribué.
Les tâches différées sont celles qui ne
peuvent être activé que par demande. Les tâches de
traitement et les tâches de sauvegarde constituent les tâches
différées.
? Tâches de traitement : ces tâches constituent le
coeur de l'application. Car elles intègrent des traitements des signaux
(analyse spectrale, corrélation, traitement d'images, etc.) ou des lois
de commande (régulation tout ou rien, régulation du premier ordre
régulation PID...).
? Tâches de sauvegarde : ces taches permettent de
sauvegarder l'état du système à des instants fixés.
elles peuvent aussi être utilisées à postériori pour
analyser le fonctionnent d'une application ou lors de la reprise de
l'exécution à une étape précédente.
Les tâches ainsi obtenues qui constituent l'application
de contrôle-commande ne sont pas des entités d'exécution
indépendante car les tâches immédiates sont en
communication avec l'extérieur et en même temps en communication
avec les tâches différées. Ce système devra
gérer des problèmes comme celui de la synchronisation pour une
relation de présence d'exécution entre les tâches ; la
communication pour un transfert de données entre
T.F.E 2015 | Benito Lubuma L2 Génie info
T.F.E 2015 | Benito Lubuma L2 Génie info
12
les tâches et le partage de ressources pour faciliter le
partage de ressources telle que la zone mémoire qui est une ressource
commune pour toutes les tâches.
Figure I. 4 Architecture logicielle d'une application
contrôle-commande
Une tâche contient au minimum un état, une
identité et un nom. Une tâche est constituée de trois zones
mémoires qui sont zone programme, zone donnée et zone pile. La
zone programme contient les instructions du programme ; la zone donnée
et la zone pile contiennent respectivement les données servant au
traitement se trouvant dans la mémoire de la tâche et la
manière dont elles sont classées.
? Un contexte d'exécution d'une tâche peut
être défini comme étant l'ensemble des informations
strictement nécessaire à un processeur pour assurer son
exécution
? Un contexte mémoire d'une tâche c'est la zone
mémoire propre à une tâche dans laquelle est rangé
le contexte d'exécution de la tâche lorsqu'elle n'est pas en cours
d'exécution. ? La périodicité d'une tâche temps
réel fait allusion à l'échéance d'une
tâche.
Une tâche a tout au plus quatre opérations qui
sont : la création, la destruction, le démarrage et
l'arrêt. Une tâche temps réel est caractérisée
par sa date de début et celle de la fin.
|