Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande...
Transcript of Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande...
Systèmes d’exploitation temps réel
Prof: A.JBARIENSET-RABAT
Spécialité: Génie Electrique et Informatique Industrielle
Prof A.JBARI 1RTOS
Plan
1. Définition d’un système temps réel
2. Exemples de systèmes temps réel
3. Contraintes d’un système temps réel
4. Les composants d’un système temps réel4. Les composants d’un système temps réel
5. Le système d’exploitation temps réel (RTOS)
6. Exemples de systèmes RTOS
7. Le système RTLinux
8. Travaux pratiques
Prof A.JBARI 2RTOS
Système de contrôle-commandeReprésentation schématique d’un système de contrôle-commande Capteurs (sensors)
1. Définition d’un système temps réel
« Un système de contrôle-commande reçoit des informations sur l’état du procédé externe, traite ces données et, en fonction du résultat, évalue une décision qui agit sur cet environnement extérieur afin d’assurer un état stable ».
Actionneurs (actuators)
Prof A.JBARI 3RTOS
Définition d’un système temps réel
Définition du IEEE : "Un système temps réel (RTS= Real Time System )
est un système dont le temps de réponse est aussi important que la
qualité de fonctionnement."
1. Définition d’un système temps réel
« un système de contrôle-commande dans lequel l’exactitude des applications ne dépend pas seulement du résultat mais aussi du temps auquel ce résultat est produit. Si les contraintes temporelles de l’application ne sont pas respectées, on parle de défaillance du système ».
D’autres définitions:
Prof A.JBARI 4RTOS
Définition d’un système temps réel
« Un système temps réel est un système qui répond dans un temps prévisible à chacun des stimuli extérieurs qui lui parviennent »
D’autres définitions:
1. Définition d’un système temps réel
prévisible à chacun des stimuli extérieurs qui lui parviennent »
« Un système temps réel est une association logiciel/matériel où le
logiciel permet, entre autre, une gestion adéquate des ressources
matérielles en vue de remplir certaines tâches ou fonctions dans des
limites temporelles bien précises ».
Prof A.JBARI 5RTOS
Système temps réel• Peut être qualifiée de "temps-réel" (ou "temps contraint", ou
encore "réactif") toute application mettant en œuvre unsystème dont le fonctionnement est assujetti à l'évolutiondynamique de l'environnement qui lui est connecté et dont ildoit contrôler le comportement.
1. Définition d’un système temps réel
rythme de l'interaction
6RTOSProf A.JBARI
Système
Environnement(ex : une chaîne de production, une réaction chimique!)
données
mesures
événements
commandestemps de réponse imposé par la dynamique de l'environnement
Domaines d’application�Produits de grande consommation
� Cafetière, machines à laver, fours à micro-onde
�Electronique grand public
�Caméras numériques, appareils photo numérique
�Multimédia, téléphonie : décodeurs vidéo,
�téléphones portables, PDA, consoles de jeu
2. Exemples de systèmes temps réel
Prof A.JBARI RTOS 7
�Automobile
�Systèmes anti-blocage de freins,
�contrôle moteur, informatique de confort
� Contrôle de procédés industriels
�Avionique, spatial, production d’énergie (nucléaire)
� Périphériques informatique : FAX, imprimantes
� Grande diversité des besoins (rapidité, puissance, fiabilité, criticité,…)
Application N°1
Conception d’un système embarqué pour la gestion routière
2. Exemples de systèmes temps réel
8RTOSProf A.JBARI
Application N°2: Mesure du niveau de carburant
Utilisation de
2. Exemples de systèmes temps réel
Utilisation de capteurs capacitifs
Comment calculer le niveau du
carburant à partir de la
variation des capacités des
condensateurs immergés dans
les réservoirs ?
9RTOSProf A.JBARI
Typologie des STR
Type caractéristiques exemples
Système temps réel mou :
soft real-time system:
système à contraintes
temporelles relatives ou lâchesles fautes temporelles
jeux vidéo, applications multimédia, téléphonie mobile…
Selon les contraintes temporelles, on distingue les types suivants:
2. Exemples de systèmes temps réel
les fautes temporelles sont tolérables
Système temps réel dur :
hard real-time system
contraintes temporelles
strictes ou dures.Les fautes temporelles ne sont pas tolérables
avionique, véhicules spatiaux,automobile, transport ferroviaire…
Prof A.JBARI 10RTOS
Contraintes d’un STR
Les systèmes à contraintes dures doivent répondre à trois critères fondamentaux :
�Le déterminisme logique : les mêmes entrées appliquées au système doivent produire les mêmes effets.
�Le déterminisme temporel : un tâche donnée doit obligatoirement
3. Contraintes
�Le déterminisme temporel : un tâche donnée doit obligatoirement être exécutée dans les délais impartis, on parle d'échéance.
�La fiabilité : le système doit être fiable. Cette contrainte est indépendante de la notion de temps réel mais la fiabilité du système sera d'autant plus mise à l'épreuve dans le cas de contraintes dures.
Prof A.JBARI 11RTOS
Contraintes temporelles
Le respect des contraintes temporelles d’un STR dépend de la dynamique du
procédé.
3. Contraintes
Prof A.JBARI 12RTOS
« Real-time is not real-fast »: il faut juste agir à temps.
Caractéristiques d’un STR
�Durée d’exécution d’une activité :
correspond à la somme des durées d’éxecution de toutes les activités
élémentaires (acquisition, traitement, commande, affichage…)
�Cadence de répétition ou périodicité d’une activité :
3. Contraintes
�Cadence de répétition ou périodicité d’une activité :
l’acquisition d’une donnée ou la commande d’un actionneur peuvent
nécessiter une régularité liée par exemple à la fréquence
d’échantillonnage.
Prof A.JBARI 13RTOS
Caractéristiques d’un STR
�Date au plus tôt ou date de réveil :
dans certains cas, un traitement doit être déclenché à une date précise
relative par rapport au début de l’exécution de l’application ou absolue
(plus rarement).
�Date d’activation :
3. Contraintes
�Date d’activation :
cet instant correspond au début l’exécution effective de l’activité.
� Date au plus tard ou échéance:
le traitement ou la commande d’un actionneur doivent être terminés à un instant fixé par rapport au début de l’exécution de l’application.
Prof A.JBARI 14RTOS
Contraintes temporelles
�Échéance de terminaison au plus
tôt ou au plus tard (deadline)
�Cohérence entre instants de
3. Contraintes
Prof A.JBARI RTOS 15
�Cadence de production des sorties
Ex : régularité de présentation des
images dans une vidéo
�Cohérence entre instants de
production des résultats
Ex : synchronisation son–image
Contraintes temporelles
temps
temps
Idéal
Système non
Exemple: exécution d'une tâche périodique
3. Contraintes
temps
temps
Système non
temps réel
Système temps
réel
Prof A.JBARI 16RTOS
Contraintes de conception
�Coût
� Coût (temps) de conception (time-to-market).
� Coût d’achat : surface de silicium
� Ressources limitées (mémoire)
� Energie limitée (coût des batteries)
3. Contraintes
Prof A.JBARI RTOS 17
� Energie limitée (coût des batteries)
� Processeurs moins élaborés (plus simples) dans l’embarqué que les processeurs généralistes (coût + prévisibilité)
� Ergonomie : contrainte de poids
� Lien entre toutes ces contraintes
�Ex : besoin en performance vs temps-réel et consommation
� Exploration multi-critères pour les choix matériel - logiciel
Terminologie des STR
�STR embarqué ( embedded real-time system) : pas d’intervention humaine directe (pas de modification du programme ou des paramètres du programme) ;
� STR dédié ( dedicated real-time system ) : les architectures matérielles ou logicielles sont spécifiques à l’application (noyau, processeur…) ;
3. Contraintes
processeur…) ;
� STR réparti ou distribué ( distributed real-time system ) :
l’architecture matérielle est constituée de plusieurs processeurs reliés entre eux par un bus ou un réseau.
Exemple: une application pour un véhicule automobile est un STR dédié,
distribué et à contraintes temporelles strictes.
Prof A.JBARI 18RTOS
Composants matériels
Exemple d’une application
automobile
4. Les composants d’un STR
Prof A.JBARI 19RTOS
Architecture de VON NEUMANN
Le mathématicien John Von Neumann a proposé un modèle de machine universelle de traitement programmé de l’information (1946). Cette architecture sert de base à la plupart des systèmes à microprocesseur actuel. Elle est composé des éléments suivants :
�une unité centrale
�une mémoire principale
�des interfaces d’entrées/sorties
4. Les composants d’un STR
20
Les différents organes du système sont reliés par des voies de communication appelées bus.
RTOSProf A.JBARI
Architecture de Harvard
L’architecture de type Harvard est une conception de microprocesseurs qui sépare physiquement la mémoire de données et la mémoire programme. L’accès à chacune des deux mémoires s’effectue via deux bus distincts.
�Deux bus à utilisation simultanée: bus de données et bus
4. Les composants d’un STR
21
�Deux bus à utilisation simultanée: bus de données et bus des instructions à exécuter.�Ce modèle est plus rapide que celui de Von Neumann. �Le gain en performance est obtenu au détriment de la complexité interne de la structure
RTOSProf A.JBARI
Architecture SuperHarvard
�Deux mémoires: mémoires de données, mémoire de programme�Mémoire cache
�Contrôleur d’entrées/Sorties
4. Les composants d’un STR
22RTOSProf A.JBARI
Interruptions
Microprocesseur 8086:
NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire.INTA : Interrupt Acknowledge (sortie), indique que le microprocesseur accepte l’interruption.
Traitement d’une interruption
Fonction: signal électrique externe indiquant un événement d’un traitement prioritaire.- Si l’interruption se déclenche, le processeur bloque le programme en cours d’exécution et se branche vers le sous programme de traitement de l’interruption.- Le vecteur d’interruption est une case mémoire contenant les adresses des SPGM de traitement d’interruption.
4. Les composants d’un STR
23
l’interruption.
Microprocesseur
8086
NMI
INTR
INTA
Traitement d’une interruption
�Empilage de IP�Charger IP par l’adresse du SPGM de traitement de l’interruption�Exécution du SPGM �Dépilage de IP�Retour vers le programme appelant
���� Le vecteur d’interruption contient l’adresse du
sous programme d’interruption.
RTOSProf A.JBARI
Exécution par scrutationBoucle de scrutation en cas de contrainte de temps faible
4. Les composants d’un STR
Prof A.JBARI 24RTOS
Architecture logicielle d’un STR
4. Les composants d’un STR
Prof A.JBARI 25RTOS
Architecture schématique des taches
4. Les composants d’un STR
Prof A.JBARI 26RTOS
Tâches: terminologie
�Programme
� Entité constituée des instructions à dérouler pour effectuer un calcul
(statique)
�Processus, tâche, thread
� Entité dynamique composée de :
� Programme (composante statique)
4. Les composants d’un STR
Prof A.JBARI RTOS 27
� Programme (composante statique)
� Données, pile d’exécution, contexte (composante dynamique)
� Descripteur : structure de donnée regroupant les informations sur une tâche à un instant donné (nom, contexte d’exécution, …)
� Thread vs tâche/processus : pas d’espace d’adressage séparé pour les threads
� Exemple : lecture périodique d’un capteur de température
� Un programme (exécutable)
� Une tâche relancée périodiquement
Tâches: terminologie
4. Les composants d’un STR
Prof A.JBARI RTOS 28
Exécutif ou noyau temps réel� Terminologie:
Système d’exploitation temps réel =RTOS (Real Time Operating
System) = exécutif = noyau temps réel: environnement d’exécution
de petite taille dédié aux applications de contrôle-commande.
�Caractéristiques d’un RTOS:
�Déterminisme temporel
5. Les RTOS
�Déterminisme temporel
�Efficacité de l’algorithme d’ordonnancement avec une complexité
limitée.
�Prédictibilité (répétitivité des exécutions dans des contextes identiques)
� Capacité à supporter les surcharges ;
� Possibilité de certification pour les applications de certains domaines
comme l’avionique, l’automobile…
Prof A.JBARI 29RTOS
Rôle d’un exécutif temps-réel�Objectif : masquer à l’application les particularités du matériel, interface entre l’application et le matériel.
� Machine virtuelle plus ou moins complexe
�Appels systèmes (primitives)
Ex : gestion de tâches (création, arrêt)
5. Les RTOS
Prof A.JBARI RTOS 30
Ex : gestion de tâches (création, arrêt)Ex : gestion du temps (attente d’un délai)
�Gestion du matériel
Ex : sauvegarde de registres pour préemptionEx : écriture registre timer pour délai
⇒⇒⇒⇒ Plus besoin de manipulations du matériel
Exécutif ou noyau temps réel
Une application temps réel étant par définition un système multitâche, le
rôle essentiel du noyau temps réel est donc de gérer l’enchaînement et la
concurrence des tâches en optimisant l’occupation de l’unité centrale du
système informatique. Les principales fonctions d’un noyau temps réel
peuvent être scindées en trois groupes :
5. Les RTOS
1. gestion des entrées/sorties (gestion des interruptions, gestion des
interfaces d’entrées/sorties, gestion des réseaux de communications…) ;
2. ordonnancement des tâches (orchestration du fonctionnement normal,
surveillance, changements de mode, traitement des surcharges…) ;
3. relations entre les tâches (synchronisation, communication, accès à une
ressource critique en exclusion mutuelle, gestion du temps…).
Prof A.JBARI 31RTOS
Interaction entre les taches et le noyau
�Les tâches sont les unités actives du système ;� Une tâche activé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 primitives.
�Ensuite le noyau temps réel réactive une tâche de l’application selon l’algorithme d’ordonnancement utilisé.
5. Les RTOS
Prof A.JBARI 32RTOS
selon l’algorithme d’ordonnancement utilisé.
Interaction entre les taches et le noyau
La tâche activée occupe le processeur jusqu’à la fin de son exécution sous le respect des conditions suivantes :
1) Elle ne réalise pas d’opérations d’entrées-sorties.
5. Les RTOS
Prof A.JBARI 33RTOS
1) Elle ne réalise pas d’opérations d’entrées-sorties.
2) Les ressources utilisées sont disponibles.
3) Aucun événement extérieur ne revendique le
déroulement d’une tâche plus prioritaire.
Taches et noyau temps réel
5. Les RTOS
Prof A.JBARI 34RTOS
Temps partagé
�La gestion du temps est l'un des problèmes majeurs des systèmes d'exploitation.
�Les système d'exploitation modernes sont tous multitâches.
�Un seul processeur et plusieurs taches
�Partager le temps du processeur entre les différentes tâches. � Gestion du passage d'une tâche à l'autre:
5. Les RTOS
� Gestion du passage d'une tâche à l'autre:
�La gestion du passage d’une tache à l’autre est effectuée par un programme appelé ordonnanceur (scheduler).
�l'ordonnanceur a pour but principal , le partage équitable du temps entre les différentes tâches du système selon une référence temporelle appelée : quantum (ou tick).
�Exemples d’OS à temps partagé: windows, unix,…
Prof A.JBARI 35RTOS
Organisation d’un système d’exploitation
Gestion des périphériques (entrées/sorties)
Gestion des fichiers
Application (Logiciel, p.ex. Microsoft Word)
Modèles en couchesModèles en couches
5. Les RTOS
Noyau du Système d’exploitation
Matériel
Gestion de la mémoire
Gestion des processus
PilotePilotePilote
Prof A.JBARI 36RTOS
Exécutif temps réel - Structure
5. Les RTOS
Prof A.JBARI 37RTOS
Espace utilisateur / noyau
�Les processeurs offrent différents modes d’exécution
�Mode utilisateur
�Permet l’exécution de plusieurs processus en assurant leur protection.
�Pas d’accès aux instructions privilégiées.
�Avec l’aide de la MMU (Memory Management Unit), le gestionnaire mémoire peut différencier les espaces d’adressage.
5. Les RTOS
mémoire peut différencier les espaces d’adressage.
�C’est le mode dans lequel les applications vont s’exécuter.
�Mode superviseur
�Accès à toutes les instructions, y compris aux instructions privilégiées (instructions I/O, accès mémoire physique, etc.).
�Plus de protection garantie.
�Accès à toute la mémoire physique
Prof A.JBARI 38RTOS
Taches�Partage du processeur par plusieurs tâches
o Notions de tâche prête et tâche active� Primitives de synchronisation : blocage des tâches (⇒ état bloquée)� Diagramme de transition entre états
5. Les RTOS
Prof A.JBARI RTOS 39
Terminer, Arrêter, Démarrer : primitives (⇒⇒⇒⇒ appelées par les tâches) de gestion de tâches
Bloquer, Débloquer : primitives de synchronisation
Sélection, Préemption : décisions internes de l’ordonnanceur
L’ordonnancement
� Définition: Ensemble des règles définissant l’ordre d’exécution des calculs sur le processeur
� Pourquoi ordonnancer ? Parce que ça a un impact sur le respect des contraintes de temps
� Exemple :
�Tâche T1 : arrivée en 0, temps d’exécution 4, échéance 7
5. Les RTOS
Prof A.JBARI RTOS 40
�Tâche T1 : arrivée en 0, temps d’exécution 4, échéance 7
� Tâche T2 : arrivée en 2, temps d’exécution 2, échéance 5
� Ordonnancement O1: premier arrivé, premier servi, non préemptif
� Ordonnancement O2: préemptif à priorité, T2 plus prioritaire que T1
� Échéance des tâches respectées avec O2, pas avec O1
L’ordonnancement
� Ordonnancement O1 : T2 rate son échéance
5. Les RTOS
Prof A.JBARI RTOS 41
� Ordonnancement O2 : toutes
les échéances sont respectées
À l’instant t=2 : préemption de T1au profit de T2.
L’ordonnancement « hors-ligne » - « en ligne »
�Hors-ligne
�La séquence d’ordonnancement est pré-calculée avant l’exécution effective (on dit aussi « time-driven » scheduling)� A l’exécution, l’ordonnanceur est un simple séquenceur (« cyclic scheduler ») : pas besoin d’exécutif multitâche
5. Les RTOS
Prof A.JBARI RTOS 42
�Evaluation
� Intérêts�Mise en œuvre simple
�Facile de détecter les dépassements d’échéances (surcharge)
� Limitations : rigidité (pas toujours applicable)
L’ordonnancement « hors-ligne » - « en ligne »
�Ordonnancements « en-ligne »
� Les décisions d’ordonnancement sont prise au cours de l’exécution
� A l’exécution, l’ordonnanceur implante un algorithme d’ordonnancement permettant de savoir à tout instant quel tâche exécuter : besoin d’un exécutif multitâche
� Généralement, ordonnancements conduits par la priorité
5. Les RTOS
Prof A.JBARI RTOS 43
� Généralement, ordonnancements conduits par la priorité
� Evaluation
�Intérêts : flexibilité
� Inconvénients :
�surcoûts de mise en œuvre
�plus difficile de détecter les surcharges
Ordonnancement non préemptif / préeemptif
� Non préemptif (coopératif)
�On n’interrompt jamais l’exécution d’une tâche en cours au profit d’une autre tâche
�Préemptif
La tâche en cours peut perdre involontairement le processeur au profit d’une autre tâche (jugée plus urgente)
⇒
5. Les RTOS
Prof A.JBARI RTOS 44
profit d’une autre tâche (jugée plus urgente)
� Préemptif ⇒ besoin d’un exécutif multitâche
� Remarques : orthogonal par rapport à la classification en-ligne /
hors-ligne
� Un ordonnancement hors-ligne peut être préemptif
� Un ordonnancement en-ligne peut être non préemptif
Ordonnancement - classification
� Ordonnancement conduits par la priorité
� Ordonnancements préemptifs
� C’est la tâche de plus haute priorité qui s’exécute à tout instant
� Priorités fixes (statiques) / priorités dynamiques
� Fixes : indépendants du temps, fixées à priori
� Dynamiques : évoluent avec le temps, au prix d’un surcoût à l’exécution
5. Les RTOS
RTOSProf A.JBARI 45
� Dynamiques : évoluent avec le temps, au prix d’un surcoût à l’exécution
�Exemple d’exécution d’un ordonnancement conduit par la priorité
� prio(T3) > prio(T2) > prio(T1) (ici, priorités fixes)
� T1, T2 et T3 arrivent respectivement aux dates 1, 2, et 3
Notations
�Date d’arrivée Ai
�Temps de calcul maximum sans préemption Ci
� Echéance (deadline) : relative ou absolue Di
� Date de début (start time) Si
5. Les RTOS
Prof A.JBARI RTOS 46
� Date de fin (finish time) Fi
�Retard (lateness) Li = (Fi – Di)
Notations
� Arrivées des tâches
� Périodiques : arrivée à intervalles réguliers (Pi)
�Date d’activation initiale, offset Oi
� Si pour tout i,j Oi=Oj, tâches synchrones
� Si Di = Pi, tâche à échéance sur requête
5. Les RTOS
Prof A.JBARI RTOS 47
� Si Di = Pi, tâche à échéance sur requête
� Sporadiques : on connaît une borne minimale sur l’intervalle entre deux arrivées
� Apériodiques : le rythme d’arrivé des événements est inconnu.
� Synchronisations (donc blocages potentiels)
�Ressources partagées
� Précédences
Quelques ordonnancements
� Ordonnancements non préemptifs
�Selon l’ordre d’arrivée : premier arrivé – premier servi (FCFS : First Come First Served)
� Selon la durée de calcul : plus court d’abord (SJF=Shortest Job First)
5. Les RTOS
Prof A.JBARI RTOS 48
First)
�Ordonnancements préemptifs
�Sans notion de priorité : temps partagé avec politique du tourniquet (round-robin)
�Selon priorité (statiques ou dynamiques) : c’est la tâche la plus prioritaire qui s’exécute à tout instant
Algorithme Rate Monotonic
�Ordonnanceur préemptif à priorité fixe
�Pour tâches périodiques
� Définition : La priorité d’une tâche est inversement proportionnelle à sa période d’activation
5. Les RTOS
Prof A.JBARI RTOS 49
proportionnelle à sa période d’activation
� Propriété
Optimal dans la classe des algorithmes à priorités fixes pour des tâches périodiques indépendantes à échéance sur requête (Di=Pi).
Algorithme Rate Monotonic
Prio(T2) > Prio(T3) > Prio(T1)
Exécution cyclique
5. Les RTOS
Prof A.JBARI RTOS 50
Exécution cyclique
(PPCM des périodes)
Faisabilité pour taches périodiques
�Taux d’occupation processeur (ou charge) par tâche : Ui = Ci / Pi
5. Les RTOS
Prof A.JBARI RTOS 51
� Taux d’occupation processeur (ou charge) pour l’ensemble des tâches : U = Σ Ci/Pi
� Remarque : Pour que le toutes les échéances soient respectées, ilest nécessaire (mais pas suffisant) que U ≤ 1.
� Exercice : calculer les charges (par tâche, globale) pour l’ensemble de tâches donné en exemple
Algorithme Deadline Monotonic
�Ordonnanceur préemptif à priorité fixe
�Pour tâches périodiques
� Définition : La priorité d’une tâche est inversement proportionnelle à son échéance relative.
5. Les RTOS
Prof A.JBARI RTOS 52
proportionnelle à son échéance relative.
� Propriété
Optimal dans la classe des algorithmes à priorités fixes pour des tâches périodiques indépendantes à échéance ≤période.
�Remarque: RM est un cas particulier de DM
Algorithme Deadline Monotonic
�Exemple : ordonnancement DM pour un jeu de tâches synchrone
prio(T2) > prio(T1) > prio(T3)
5. Les RTOS
Prof A.JBARI RTOS 53
� prio(T2) > prio(T1) > prio(T3)
Algorithme Earliest Deadline First EDF
�Ordonnanceur préemptif à priorité dynamique
�Pour tâches périodiques et non périodiques
� Définition : A un instant donné, la tâche la plus prioritaire (parmi les tâches prêtes) est celle dont l’échéance absolue est la plus
5. Les RTOS
Prof A.JBARI RTOS 54
(parmi les tâches prêtes) est celle dont l’échéance absolue est la plus proche.
Propriété
Optimal dans la classe des algorithmes préemptif pour des configurations de tâches périodiques indépendantes à échéance ≤période.
Algorithme Earliest Deadline First EDF
(2 préemptions en 5 et 15)
5. Les RTOS
Prof A.JBARI RTOS 55
Algorithme Earliest Deadline First EDF
Exercice:Exercice:
�Cet ensemble de tâches serait-il faisable en utilisant unordonnancement non préemptif ?� Serait-il faisable en utilisant un ordonnancement préemptif à priorités fixes (si oui, lequel ?)
5. Les RTOS
Prof A.JBARI RTOS 56
Correction 1/ 3
5. Les RTOS
Prof A.JBARI RTOS 57
Correction 2/ 3
5. Les RTOS
Prof A.JBARI RTOS 58
Correction 3/ 3
5. Les RTOS
Prof A.JBARI RTOS 59
Niveaux de parallélisme
� Parallélisme réel
� Systèmes multiprocesseurs uniquement
� Pseudo-parallélisme : le processeur exécute successivement plusieurs traitements
5. Les RTOS
Prof A.JBARI RTOS 60
�Traitements exécutés en séquence : ordonnancement non
préemptif
� Un traitement peut être interrompu par un autre traitement :
ordonnancement préemptif
Niveaux de parallélisme�Système multitâche monoprocesseur non préemptif
�Système multitâche monoprocesseur préemptifEntrelacement entre
5. Les RTOS
Prof A.JBARI RTOS 61
�Système multitâche multiprocesseurs
Entrelacement entreT1 et T2 dépend dutype d’ordonnancement
Appels système et interruptions
�Appel systèmeModule du noyau concerné
5. Les RTOS
Prof A.JBARI RTOS 62
�Gestion d’interruption
On ne retourne pas
nécessairement
dans la tâche
appelante/interrompue
OS temps réel
RTOS commercials RTOS LIBRES
VxWorks http://www.windriver.com
LynxOS http://www.lynuxworks.com/rtos
Qnx http://www.qnx.com
RTAI http://www.rtai.org
XENOMAI http://www.xenomai.org
ucLinux http://www.uclinux.org
6. Exemples de RTOS
Prof A.JBARI RTOS 63
Qnx http://www.qnx.com
RTLinux http://www.fsmlabs.com/
ucLinux http://www.uclinux.org
eCos http://sources.redhat.com/ecos
MaRTE OS http://marte.unican.es
ORK: http://polaris.dit.upm.es/ork
Le noyau Linux : Linux Kernel
User Processes
7. Les RTOS
RTOS 64
System libraries
Device drivers Linux kernel
Hardware
I/O Hardware Interrupts
Prof A.JBARI
RTLinux Kernel
System libraries
Device drivers Linux kernel
User Processes
Real Time Tasks
Linux is executed in the background
7. Les RTOS
RTOS 65
Hardware
I/O Software Interrupts
RTLinux Plug-inRT-Scheduler
I/O Hardware Interrupts
Direct h/w access
Prof A.JBARI
Linux Kernel: code perspective
M1
Kern
el L
oadable
Module
s
Module M2 service (system call)
User
Process
THE controller
7. Les RTOS
RTOS 66
Linux Monolithic kernel core
M1
M2
M3
M4
Kern
el L
oadable
Module
s
RAM DISK
(system call)
M2
Prof A.JBARI
RTLinux Kernel: code perspective
RTM2
Kern
el L
oadable
Module
s
Load RT core
RT Load command
RT core
THE controller
7. Les RTOS
RTOS 67
Linux Monolithic kernel core
RTM2
RTM3
M1
M2
Kern
el L
oadable
Module
s
RAMDISK
RT-Core Module
M3
Prof A.JBARI