![Page 1: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/1.jpg)
Systèmes d’exploitation temps réel
Prof: A.JBARIENSET-RABAT
Spécialité: Génie Electrique et Informatique Industrielle
Prof A.JBARI 1RTOS
![Page 2: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/2.jpg)
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
![Page 3: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/3.jpg)
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
![Page 4: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/4.jpg)
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
![Page 5: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/5.jpg)
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
![Page 6: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/6.jpg)
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
![Page 7: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/7.jpg)
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é,…)
![Page 8: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/8.jpg)
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
![Page 9: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/9.jpg)
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
![Page 10: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/10.jpg)
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
![Page 11: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/11.jpg)
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
![Page 12: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/12.jpg)
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.
![Page 13: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/13.jpg)
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
![Page 14: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/14.jpg)
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
![Page 15: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/15.jpg)
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
![Page 16: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/16.jpg)
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
![Page 17: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/17.jpg)
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
![Page 18: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/18.jpg)
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
![Page 19: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/19.jpg)
Composants matériels
Exemple d’une application
automobile
4. Les composants d’un STR
Prof A.JBARI 19RTOS
![Page 20: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/20.jpg)
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
![Page 21: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/21.jpg)
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
![Page 22: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/22.jpg)
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
![Page 23: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/23.jpg)
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
![Page 24: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/24.jpg)
Exécution par scrutationBoucle de scrutation en cas de contrainte de temps faible
4. Les composants d’un STR
Prof A.JBARI 24RTOS
![Page 25: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/25.jpg)
Architecture logicielle d’un STR
4. Les composants d’un STR
Prof A.JBARI 25RTOS
![Page 26: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/26.jpg)
Architecture schématique des taches
4. Les composants d’un STR
Prof A.JBARI 26RTOS
![Page 27: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/27.jpg)
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
![Page 28: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/28.jpg)
Tâches: terminologie
4. Les composants d’un STR
Prof A.JBARI RTOS 28
![Page 29: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/29.jpg)
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
![Page 30: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/30.jpg)
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
![Page 31: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/31.jpg)
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
![Page 32: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/32.jpg)
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é.
![Page 33: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/33.jpg)
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.
![Page 34: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/34.jpg)
Taches et noyau temps réel
5. Les RTOS
Prof A.JBARI 34RTOS
![Page 35: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/35.jpg)
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
![Page 36: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/36.jpg)
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
![Page 37: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/37.jpg)
Exécutif temps réel - Structure
5. Les RTOS
Prof A.JBARI 37RTOS
![Page 38: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/38.jpg)
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
![Page 39: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/39.jpg)
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
![Page 40: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/40.jpg)
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
![Page 41: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/41.jpg)
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.
![Page 42: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/42.jpg)
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)
![Page 43: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/43.jpg)
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
![Page 44: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/44.jpg)
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
![Page 45: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/45.jpg)
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
![Page 46: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/46.jpg)
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)
![Page 47: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/47.jpg)
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
![Page 48: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/48.jpg)
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
![Page 49: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/49.jpg)
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).
![Page 50: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/50.jpg)
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)
![Page 51: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/51.jpg)
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
![Page 52: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/52.jpg)
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
![Page 53: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/53.jpg)
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)
![Page 54: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/54.jpg)
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.
![Page 55: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/55.jpg)
Algorithme Earliest Deadline First EDF
(2 préemptions en 5 et 15)
5. Les RTOS
Prof A.JBARI RTOS 55
![Page 56: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/56.jpg)
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
![Page 57: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/57.jpg)
Correction 1/ 3
5. Les RTOS
Prof A.JBARI RTOS 57
![Page 58: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/58.jpg)
Correction 2/ 3
5. Les RTOS
Prof A.JBARI RTOS 58
![Page 59: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/59.jpg)
Correction 3/ 3
5. Les RTOS
Prof A.JBARI RTOS 59
![Page 60: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/60.jpg)
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
![Page 61: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/61.jpg)
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
![Page 62: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/62.jpg)
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
![Page 63: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/63.jpg)
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
![Page 64: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/64.jpg)
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
![Page 65: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/65.jpg)
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
![Page 66: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/66.jpg)
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
![Page 67: Prof: A - High-Tech€¦ · Microprocesseur 8086: NMI et INTR : entrées de demande d’interruption. INTR : interruption normale, NMI (Non Maskable Interrupt) : interruption prioritaire](https://reader033.vdocuments.mx/reader033/viewer/2022052502/609c9e31f997e9439629beeb/html5/thumbnails/67.jpg)
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