Académique Documents
Professionnel Documents
Culture Documents
FACULTÉ DE LA TECHNOLOGIE
UNIVERSITÉ YAHIA FARÈS DE MÉDÉA
Système temps réel (STR): système dont le comportement dépend non seulement de
l’exactitude des traitements effectués, mais également du temps où les résultats de ces
traitements sont fournis, c.-à-d. qu’un retard dans la production d’un résultat est
considéré comme une erreur.
Un STR est soumis à des contraintes temporelles, il n'est pas forcément rapide.
L’échelle de temps peut varier selon le contexte.
2
3
Représenta on schéma que d’un système de contrôle-commande
4
CLASSIFICATION
5
6
7
8
9
CLASSIFICATION SUITE
10
11
12
13
14
15
Système d'exploitation temps réel
Un système d'exploita on temps réel, en anglais RTOS pour real- me opera ng system
(généralement prononcé à l’anglaise, en séparant le R de l’acronyme : Are-toss), est un
système d'exploita on pour lequel le temps maximum entre un s mulus d'entrée et
une réponse de sor e est précisément déterminé.
Ces systèmes d'exploita on mul tâches sont des nés à des applica ons temps réel :
systèmes embarqués (thermostats programmables, contrôleurs électroménagers,
téléphones mobiles, robots industriels, vaisseaux spa aux, systèmes de contrôle
commande industriel, matériel de recherche scien fique).
Un RTOS facilite la créa on d'un système temps réel, mais ne garan t pas que
le résultat final respecte les contraintes temps réel, ce qui exige le
développement correct du logiciel. Un RTOS n'a pas nécessairement pour but
d'être performant et rapide, mais un RTOS fournit des services et des primi ves
qui, si elles sont u lisées correctement, peuvent garan r les délais souhaités.
Un RTOS u lise des ordonnanceurs spécialisés afin de fournir aux développeurs
des systèmes temps réel les ou ls et les primi ves nécessaires pour produire un
comportement temps réel souhaité dans le système final.
16
L’emplacement d'un OS.
Les rôles du système d'exploitation
Ø gérer le processeur: c'est-à-dire gérer l'allocation du processeur entre les différentes applications
grâce à un algorithme d'ordonnancement.
Ø gérer la mémoire: c'est-à-dire gérer l'espace mémoire alloué à chaque application et, le cas
échéant, à chaque usager.
En cas d'insuffisance de mémoire physique (RAM), le système d'exploitation peut créer une zone
mémoire sur le disque dur, appelée mémoire virtuelle.
Ø gérer les entrées/sorties: c'est-à-dire gérer l'accès des programmes aux ressources matérielles par
l'intermédiaire des pilotes.
Ø gérer l'exécution des applications: c'est-à-dire s'assurer de la bonne exécution des applications en
leur affectant les ressources nécessaires à leur bon fonctionnement, mais aussi permettre de tuer
une application ne répondant plus correctement, par exemple.
Ø gérer les fichiers: c'est-à-dire gérer la lecture et l'écriture dans le système de fichiers et les droits
d'accès aux fichiers par les utilisateurs et les applications.
17
Les composants d'un système d'exploitation
Le système d'exploitation est composé d'un ensemble d'applications permettant de
gérer les interactions avec le matériel. Parmi cet ensemble de logiciels on distingue
généralement les éléments suivants :
Ø Le système de fichiers (file system) permet d'enregistrer les fichiers dans une
arborescence.
18
Caractéristiques particulières d'un système d'exploitation
Les systèmes embarqués sont des systèmes d'exploitation prévus pour fonctionner
sur des machines de petite taille, telles que des PDA ou des appareils électroniques
autonomes (robot, ordinateur de bord de véhicule, etc.).
Les systèmes temps réel (real time systems), essentiellement utilisés dans
l'industrie, sont des systèmes dont l'objectif est de fonctionner dans un
environnement contraint temporellement, c'est-à-dire qu'il doit être capable de
délivrer un traitement correct des informations reçues à des intervalles de temps
bien définis (réguliers ou non).
19
Architecture des applica ons temps réel
21
Architecture mul tâche
Tâches d’entrées/sor es: ces tâches perme ent d’accéder aux données
externes par l’intermédiaire de cartes d’entrées/sor es et ensuite de
capteurs et d’ac onneurs directement liés au procédé géré.
Tâches de traitement: ces tâches cons tuent le cœur de l’applica on. Elles
intègrent des traitements de signaux (analyse spectrale, corréla on,
traitement d’images, etc.) ou des lois de commande (régula on tout ou
rien, régula on du premier ordre, régula on PID, etc.),
Tâches de ges on de l’interface u lisateur: ces tâches perme ent de
présenter l’état du procédé ou de sa ges on à l’u lisateur. En réponse,
l’opérateur peut modifier les consignes données ou changer les
commandes.
Tâches de communica ons: ces tâches sont des nées à gérer les messages
envoyés ou reçus à travers un ou plusieurs réseaux ou bus de terrain.
Tâches de sauvegarde: ces tâches perme ent de stocker l’état du système
à des instants fixés. Ce e sauvegarde peut être u lisée a posteriori pour
analyser le fonc onnement de l’applica on ou lors d’une reprise
d’exécu on à une étape précédente.
23
Ordonnancement
l’ordonnancement est la ges on de l’enchainement et
la concurrence des tâches en op misant l’occupa on
du processeur.
Une tâche non préemp ble ne peut être interrompue qu’à des
endroits spécifiques et à la demande de la tâche elle-même
Dans ce cas, la programma on est plus simple et aucun mécanisme
de partage de ressources cri ques n’est à prévoir. En revanche, des
temps de réponse longs peuvent se produire.
25
Temps de réponse 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'apparition d'un phénomène implique l'exécution d'une action effective au
plus tard dans un délai TR appelé temps de réponse. Il convient de considérer:
Il faut relativiser la notion temps réel car tous les systèmes n'ont pas les mêmes
exigences: le temps de réponse des STR peut aller de quelques dizaines de µs
pour les systèmes radars à quelques heures pour des systèmes de surveillance
de réactions chimiques (voire plusieurs années dans des systèmes utilisés en
astronomie). Il existe globalement deux situations : les systèmes transactionnels
où l'on a une tolérance statistique (pour le non-respect des contraintes de
temps). La commande de processus où le respect d'un délai de réponse TR doit
être garanti dans tous les cas sous peine de voir une dégradation ou un
effondrement du système. Temps Réel
26
Préemp on
La préemp on est un des ou ls mis en œuvre pour assurer l'aspect
déterministe d'un système. La préemp on se définit comme la
réquisi on du processeur pour l'exécu on d'une tâche et d'une
seule pendant un temps déterminé. Un ordonnancement sta que
à base de priorités peut se dérouler de deux façons dis nctes:
ordonnancement sans préemp on: lorsque le processeur
est inac f, la tâche prête de plus haute priorité sera choisie pour
être exécutée. Une fois choisie, elle s'exécute jusqu'à ce qu'elle se
termine ou rende le processeur.
ordonnancement avec préemp on: lorsque le processeur
est inac f, la tâche prête de plus haute priorité sera choisie pour
être exécutée. A chaque instant ce e tâche peut être préemptée
(remplacée) par n'importe quelle tâche plus prioritaire qui serait
devenue prête.
28
Analyse de l’ordonnancement hors-ligne ou
en ligne
Une analyse de l’ordonnancement hors-ligne correspond à la
construc on d’une séquence d’exécu on complète sur la base
des paramètres temporels des tâches en u lisant une
modélisa on ou une simula on.
27
Modèle d’exécu on synchrone
Dans l’exemple, nous pouvons constater que la prise en compte d’un signal
d’alerte n’est effective que lors de la fin de la tâche « Lecture_consigne ». D’un
point de vue du procédé, la réaction est perçue comme différée, alors que du
point de vue du système informatique, elle est perçue comme immédiate.
28
Modèle d’exécu on asynchrone
31
Exécu f ou noyau temps réel
Un système d’exploita on de pe te taille dédié aux applica ons de système
temps réel
Une applica on temps réel étant par défini on un système mul tâche, le rôle essen el du
noyau temps réel est donc de gérer l’enchaînement et la concurrence des tâches en
op misant l’occupa on de l’unité centrale du système informa que. Les principales
fonc ons d’un noyau temps réel peuvent être scindées en trois groupes:
1. Ges on des entrées/sor es (ges on des interrup ons, ges on des interfaces
d’entrées/sor es, ges on des réseaux de communica ons…);
2. Ordonnancement des tâches (orchestra on du fonc onnement normal, surveillance,
changements de mode, traitement des surcharges…);
3. Rela ons entre les tâches (synchronisa on, communica on, accès à une ressource
cri que en exclusion mutuelle, ges on du temps…).
33
Exécu f ou noyau temps réel
les tâches sont les unités ac ves du système ; le noyau temps réel
n’est ac f que lors de son appel. Une tâche ac vée peut appeler le
noyau temps réel par une requête. Les différentes requêtes sont
servies par des modules du noyau temps réel appelées primi ves.
Ensuite le noyau temps réel réac ve une tâche de l’applica on
selon l’algorithme d’ordonnancement u lisé.
Ainsi le noyau temps réel centralise toutes les demandes d’ac va on des tâches et
gère des tables lui perme ant de comparer les priorités (ou les urgences) et l’état de
ces diverses tâches, ainsi que l’état d’occupa on des ressources. La décision d’ac va on
d’une tâche étant prise, le noyau temps réel lance les modules de programmes
correspondant à ce e tâche et lui alloue les ressources disponibles.
La tâche ac vée occupe un processeur jusqu’à la fin de son exécu on sous le respect des
condi ons suivantes :
35
L’architecture logicielle décrit d’une manière symbolique et schématique les différents éléments d’un
ou de plusieurs systèmes informatiques, leurs interrelations et leurs interactions. Contrairement aux
spécifications produites par l’analyse fonctionnelle, le modèle d'architecture, produit lors de la phase de
conception, ne décrit pas ce que doit réaliser un système informatique mais plutôt comment il doit être
conçu de manière à répondre aux spécifications. L’analyse décrit le « quoi faire » alors que
l’architecture décrit le « comment le faire ».
36
Exécu f ou noyau temps réel
38
Implémenta on des applica ons de système temps réel
L’architecture matérielle décrit l’agencement interne de composants électroniques ainsi que leurs interactions.
Par défaut de langage, en parlant d’architecture matérielle (hardware) on pense immédiatement à architecture
hardware autour d’un processeur. Un microprocesseur a accès à un ou plusieurs bus (AGP, PCI) afin de
dialoguer avec les composants et les périphériques. L’architecture est souvent grandement masquée aux
utilisateurs par le biais du système d'exploitation, qui donne une abstraction unifiée de tous les composants
physiques.
40
Architecture matérielle
Processeur
Les unités de traitement peuvent être des microprocesseurs ou des
microcontrôleurs
Un microprocesseur est une unité de traitement op misée pour le
calcul. Généralement plus rapide qu’un microcontrôleur, c’est le cœur
des micro-ordinateurs.
Il est capable d’effectuer des entrées/sor es (moyens de
communica on entre l’ordinateur et le monde extérieur : capteurs,
ac onneurs, périphériques divers) via des circuits spécialisés (ports
série, ports parallèle, USB, etc.). dans le cadre des applica ons de
contrôle-commande, via des cartes spécialisées enfichables nommées
cartes d’acquisi on.
41
Architecture matérielle
44
Architecture matérielle
Mémoire
45
Architecture matérielle
Fonc onnement d’un processeur
Les instruc ons d’un programme, mémorisées sous forme
d’octets en mémoire centrale, sont stockées séquen ellement.
46
Architecture matérielle
48
Architecture matérielle
Composants du processeur
– un séquenceur de commandes, perme ant d’ini er et de
contrôler le déroulement d’une instruc on. C’est cet élément qui
cadence le fonc onnement du processeur à la fréquence d’horloge
du processeur.
50
Architecture matérielle
Composants du processeur
– une unité arithmé que et logique (UAL), se chargeant de
l’exécu on des instruc ons comme un calcul en nombres en ers,
une opéra on logique, ou une opéra on de manipula on binaire
(opéra ons arithmé ques, logiques, manipula on des
représenta ons binaires),
52
No ons sur les entrées/sor es
Entrées/sor es numériques
Bus série (norme RS-232)
Transfert bit à bit
Ce bus capable de transporter des flots de données jusqu’à 128 000
bits/s
Bus parallèle
Ce bus externe permet une transmission de 8 bits en parallèle à des
débits de 3 mo/s
Bus USB (universal serial bus)
Ce bus externe héri er du bus série permet, dans sa version 1.0,
des débits de l’ordre de 1,5 Mo/s et dans sa version 2.0 des débits
aux alentours de 60 Mo/s.
53
No ons sur les entrées/sor es
Bus FireWire
dans sa version a, offrant des débits de l’ordre de 50 Mo/s. Dans sa
norme b, offrant des débits de l’ordre de 400 Mo/s
56
No ons sur les entrées/sor es
Entrées/sor es analogiques
57