Télécharger la présentation
Publié parCéline Martel Modifié depuis plus de 8 années
1
Systèmes d'exploitation Temps Réels Polytech Marseille et CPPM
François TOUCHARD Polytech Marseille et CPPM
2
Présentation du cours donner un aperçu de
ce qu'est une application temps réel la façon de la mettre en œuvre (ordonnancement) l'état de l'art en matière de systèmes d'exploitation temps réels ce ne seront que des notions impossible de rentrer dans les détails dans le temps imparti
3
Introduction système temps réel : qui doit fournir un service dans un contexte où le temps intervient évolution du système (système réactif) contraintes de temps (échéances) par opposition aux systèmes interactifs ou transformationnels systèmes embarqués : autonomes, avec un fort couplage entre le matériel et le logiciel utilisation dans un but très précis très souvent des contraintes temporelles souvent inclus dans un système plus vaste ~ 90% du marché des processeurs
4
Quelques exemples asservissement par contrôle numérique
procédé capteur actionneur mesure y(t) résultat u(t) A/D yk Loi de contrôle calcul Loi de contrôle calcul uk D/A rk A/D référence r(t) uk = uk-1 + α ek + β ek-1 + γ ek-2
5
Quelques exemples pour programmer la boucle : créer un timer de période T à chaque interruption du timer faire les conversions analogique-numérique de y et r calculer u faire la conversion numérique-analogique de u fin de la boucle le choix de T est important il peut être souhaitable de pouvoir le modifier il faut que la correction apportée au système ait encore un sens au moment où elle est appliquée échéance, fonction de la vitesse d'évolution du système
6
Quelques exemples concepts mis en jeu gestion du temps
gestion des interruptions interaction avec l'utilisateur
7
Quelques exemples contrôleur de vol tous les 1/180 s faire
lecture/validation des capteurs sélectionnés chaque 6 cycles (30 Hz) : tâches avionique lecture claviers, sélection mode normalisation des données, transformation des coordonnées mise à jour des références de trajectoire chaque 6 cycles (30 Hz) : calculs loi de contrôle phase 2 pour la dérive loi de contrôle phase 2 du roulis loi de contrôle phase 2 du travers chaque 2 cycles (90 Hz) : en utilidant les résultats de 2 cycles loi de contrôle phase 1 pour la dérive loi de contrôle phase 1 du roulis et coordination des 2 axes calcul de la loi de contrôle globale sortie des commandes pour les actionneurs auto-test
8
Quelques exemples modèle cyclique facile à implémenter
difficile de le faire évoluer très difficile à mettre en œuvre quand le système à contrôler se complexifie un peu
9
Quelques exemples contrôle d'un groupe d'ascenseurs
4 ascenseurs dans la cage d'escalier d'un même bâtiment, desservant les mêmes étages deux boutons d'appel par palier, pour monter ou descendre 1 bouton par étage dans chaque ascenseur partage optimum des ressources par exemple, un ascenseur en marche s'arrêtera à un étage où l'appel a été demandé si et seulement si il va dans la bonne direction quand il passera à l'étage concerné et si il n'est pas en limite de surcharge recherche de l'équilibrage du service entre les différents ascenseurs contrôle des "périphériques" (portes palières, indicateurs sonores et visuels, etc...)
10
Quelques exemples le modèle du générateur cyclique ne fonctionne plus
contrôleur centralisé avec activation de tâches par événements décentralisation de tâches sur des processeurs annexes système multi-processeur et multi-tâches synchronisation et communication entre les tâches modèle asynchrone
11
contrôleur de traffic aérien
Quelques exemples contrôle aérien hiérarchie des contrôles contrôleur de trafic aérien gestionnaire de vol contrôleur de vol calculs complexes (optimisation) fiabilité respect des échéances temporelles réponses commandes données locales (météo...) contrôleur de traffic aérien calculateur navigation gestionnaire de vol calculateur calculateur contrôleur de vol données locales de vol
12
Quelques exemples contrôleur de trafic aérien CPU CPU CPU
base de données des éléments de vol réseau de communication réseau de communication processeur de surveillance des trajectoires processeur de visualisation
13
Quelques exemples beaucoup d'autres systèmes ont des contraintes temporelles bases de données contrôle de vols salles de marché multimédia compression/décompression transmission
14
Qu'est-ce que le temps réel ?
non seulement des résultats exacts mais aussi fournis dans un temps donné, compatible avec l'évolution du système l'échelle de temps dépend du système de quelques millisecondes pour un système de navigation aérienne à plusieurs minutes ou heures pour le contrôle d'un réacteur chimique dans un système temps réel, un résultat de calcul mathématiquement exact mais arrivant au delà d'une échéance pré-définie est un résultat faux
15
Temps réel dur et temps réel mou
si un résultat arrivant en retard provoque un accident fatal au système (génération d'une exception) : temps réel dur sinon : temps réel mou, ou lâche la distinction entre les deux est une notion assez floue dans un système donné, des tâches temps réel dures et lâches peuvent cohabiter, éventuellement avec des tâches sans contraintes temporelles critère de respect des contraintes temporelles booléen pour le temps réel dur doit être défini pour chaque tâche dans le cas d'une application temps réel lâche
16
Caractéristiques importantes (1)
Prévisibilité pour déterminer à l'avance si un système va respecter ses contraintes temporelles connaissance des paramètres liés aux calculs des activités date de démarrage de l'activité (« activation ») temps global de calcul de chaque activité (« capacité ») périodicité préemptivité évaluation des performances dans le pire des cas temps de calcul gigue pour définir le meilleur algorithme d'ordonnancement
17
Caractéristiques importantes (2)
Déterminisme but à atteindre pour prédire le comportement temporel du système temps réel dur : chercher à savoir si toutes les échéances de toutes les activités seront respectées temps réel lâche : par exemple savoir quels seront les retards moyens Fiabilité du matériel tolérance aux fautes systèmes embarqués
18
Comment mettre en œuvre le temps réel ?
modèle de la boucle cyclique facile à mettre en œuvre bien adapté aux automates simples montre ses limitations dès que le système se complexifie un peu nécessaire de faire appel à un programme qui va gérer la complexité : appel à des ressources extérieures systèmes de fichiers communication par réseaux gestion de l'asynchronisme communication avec des périphériques « lents » messages d'alarme gestion des priorités relatives des tâches etc... système d'exploitation, avec des caractéristiques propres au temps réel
19
Comment mettre en œuvre le temps réel ?
disposer d'un système d'exploitation temps réel est une condition nécessaire mais non suffisante il faut organiser l'accès aux ressources CPU autres ressources partagées méthodes de planification : ordonnancement
20
Plan du cours méthodes d'ordonnancement
caractéristiques des systèmes d'exploitation temps réels quelques études de cas
21
Ordonnancement
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.