Cours Temps Réel [© tv 2003] Définition Caractéristiques

Slides:



Advertisements
Présentations similaires
PC / Traitement numérique / Contrôle Environnement logiciel
Advertisements

Module 5 : Implémentation de l'impression
Processus d'expression du besoin
Types des systèmes d’exploitation
Critère d’ordonnancement en temps réel Partie II
Critère d’ordonnancement en temps réel Partie III
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Considération de temps.
PLAN du COURS Introduction Structure des Systèmes Informatiques
Module 6 : Gestion et analyse du système DNS
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
Exécutif Temps réel. Limitation des système classiques Rappels Mise en œuvre lourde des communications entre processus Problème de prédictibilité avec.
Des systèmes classiques aux systèmes temps réels
Introduction Qu'est ce que le temps-réel ?
Plan Ordonnancement Obtention des tests de faisabilité entre processus
Mémoire & Processus Cours SE - SRC
INTRODUCTION.
Les Compteurs A. Objectifs de la séquence:
Roue de la qualité (de Dewing)
6.1 URDL22005 Systèmes dexploitation Ordonnancement du CPU Concepts de Base Critères dOrdonnancement Algorithmes dOrdonnancement Ordonnancement Multi-Processeur.
Introduction aux Systèmes d’information Temps Réel
MRP, MRP II, ERP : Finalités et particularités de chacun.
Module 1 : Préparation de l'administration d'un serveur
le profil UML en temps réel MARTE
Analyse et Conception des Systèmes d’Informations
Les Systèmes d’Exploitation
Parcours de formation SIN-7
Algorithmes Branch & Bound
Réalisée par :Samira RAHALI
L'équilibrage de charge Utilisation, principe et solutions
Correction des Systèmes
Etude globale de système.
Présentation du mémoire
Module 2 : Préparation de l'analyse des performances du serveur
Mécanismes d'exécution et de communication
Réalisé par Mr CALVO du Lycée Bon Secours à PERPIGNAN
Interoperabilité des SI - Urbanisation
Qu’est-ce qu’un système d’exploitation ?
L ’Ordonnancement Ordonnancement.
Systèmes d'exploitations Processus
Systèmes d’exploitation
Comparaison entre RIP et OSPF en utilisant OPNET
ANALYSE METHODE & OUTILS
Introduction aux systèmes d’exploitation
Mise en oeuvre et exploitation
Temps Réel Barat Christian
Cours des Systèmes d’exploitations
Cours des Systèmes d’exploitations
INTRODUCTION.
Module 8 : Surveillance des performances de SQL Server
Qnx QNX est un système d'exploitation temps réel (dont l'objectif est de fonctionner dans un environnement contraint temporellement) adapté aux applications.
Amélioration de la simulation stochastique
Microcontrôleurs et Langage C Les Timers diapo 1
Etude des systèmes Notion de système.
NOTIONS DE BASE DES SYSTÈMES TEMPS-RÉEL Sujets Concepts de processus/thread concurrents –Windows NT et la programmation temps réel Lectures: Chapitres.
INTEROPERABILITE & ADMINISTRATION NUMERIQUE - e-forum Maroc – Rabat - 22 juin 2006.
Chapitre 5 : Les circuits séquentiels
Programmation Système et Réseau
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
MOCK.
NOTIONS DE BASE DES SYSTÈMES TEMPS-RÉEL Sujets Concepts de processus/thread concurrents –Windows NT et la programmation temps réel –Synchronisation et.
Sujet 5 : Intégration d’une loi d’ordonnancement dans un modèle
Ordonnancement (Scheduling)
Cours Système LI324 Les Interruptions Cours Système LI324
Les Processus.
La gestion des stocks (Modèle de Wilson).
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Les bascules et registres
Gestion des Tâches Les Processus. Un système multitâches La carte mère comporte Le Processeur (calcul et attente) Les jeux de composants spécialisés (entrées-sorties.
ÉCONOMIE POUR INGÉNIEURS CHAPITRE 1 Les fondements de l’économie d’ingénierie © 2013 Chenelière Éducation inc.
1 UNIX AVANCE Yves PAGNOTTE – Janvier – LES PROCESSUS SOUS UNIX.
Transcription de la présentation:

Cours Temps Réel [© tv 2003] Définition Caractéristiques Domaines d’application Temps réel soft et hard Temps de réponse Déterminisme Ordonnancement Temps partagé Modes d’ordonnancement Préemption Interruption Multitâche Taches périodiques et apériodiques Horloge temps réel Caractéristiques et performances temporelles Temps Réel

Définition 1967 : introduction du multitâche avec la technique de partage du temps (time-sharing). 1970 :première apparition du terme temps réel (coïncide avec l’apparition des microprocesseurs dans l’environnement industriel).   « Un système fonctionne en Temps Réel s’il est capable d’absorber toutes les informations en entrée avant qu’elles soient trop vielles pour l’intérêt qu’elles présentent et de réagir à celles-ci suffisamment vite pour que cette réaction est un sens » (ABRIAL – BOURGNE). « Un résultat juste, mais hors délai, est un résultat faux ». Temps Réel

Caractéristiques Pour commander un environnement industriel, il faudra respecter les contraintes de temps.   Le temps d’exécution d’une tâche doit être connu et non soumis à des variations liées à la charge du système. De nos jours, un calculateur embarqué signifie implicitement calculateur temps réel embarqué. Au niveau logiciel, on distingue : l’exécutif Temps Réel (le noyau) et l’application Temps Réel (les tâches). Exemples d’OS Temps Réel : LynxOs, OS9, MTR86, RT-RTAI LINUX, pSOS, VRTX, VxWorks, QNX, … Temps Réel

Domaines d’application système de commande et de contrôle de processus industriels   système de contrôle aériens systèmes embarqués dans les avions, navettes spatiales, etc … gestion des stations spatiales système de défense surveillance médicale intensive coordination des collectivités mixtes robots-humains gestion automatique du trafic et du transport urbain le multimédia les systèmes de télécommunication ... etc ... Temps Réel

Temps réel soft et hard Le terme « temps réel » peut prendre des significations très différentes suivant les applications. Cependant, la littérature informatique définit généralement uniquement deux types :   les systèmes temps réel soft (mou) et hard (dur). Un « système temps réel soft » se caractérise par la possibilité d’accomplir une tâche qui, en moyenne, est exécutée selon un planning prédéterminé. L’affichage vidéo est un bon exemple, où la perte occasionnelle de frames ne causera pas de dégradation perceptible du système, délivrant une performance moyenne demeurant acceptable. Bien que des techniques comme l’interpolation puissent être employées pour compenser les frames manquantes, le système demeure « temps réel soft », car les données réelles sont manquantes et les frames issus de l’interpolation sont des dérivés et non les données réelles. L’incorporation de « temps réel hard » garantit le timing, ne peut pas manquer les délais limites et doit avoir des temps de latence liés. Comme les deadlines ne sont jamais manqués, un système temps réel hard ne peut pas utiliser le cas moyen des performances pour compenser le pire. Un exemple de système temps réel hard est fourni par la gestion des transducteurs d’un réacteur nucléaire, lequel doit utiliser un système de contrôle numérique complexe, afin d’éviter les désastres… Temps Réel

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 :  les valeurs ou les ordres de grandeur de TR ;  la possibilité ou non de choisir TR ;  les répercussions sur le système du non respect de la contrainte TR. Temps Réel

Temps de réponse (suite) 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ù les 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

Déterminisme Un système sera dit "déterministe" lorsque le temps maximal qu'il mettra pour traiter une tâche quelconque sera connu et déterminé à l'avance.   Il convient de considérer les différents niveaux constituant le système : au niveau processeur : le déterminisme est total. au niveau de l'exécutif : il sera déterministe si son temps de réponse est indépendant de sa charge. au niveau du système : il sera déterministe s'il est capable de répondre à une requête et la traiter en un temps maximum indépendant de l'environnement extérieur. Temps Réel

Ordonnancement (scheduling) C’est une notion fondamentale des systèmes multitâches et des systèmes temps réel (STR). Plusieurs tâches peuvent se trouver en concurrence pour obtenir l’UC. La tâche de plus grande priorité est exécutée en premier. Les tâches restantes seront sélectionnées à tour de rôle par l’ordonnanceur (scheduler).   L’ordonnanceur (scheduler) doit : assurer la gestion des tâches de l’état bloqué à l’état prêt (ou éligible) effectuer le choix de la tâche élue (en exécution) parmi les tâches éligibles. Les critères de sélection de l’algorithme sont : garantir à chaque tâche un temps processeur ; respecter un ordre de priorité entre tâches ; respecter un temps de réponse donné ; permettre la préemption. Temps Réel

Temps partagé (time sharing) Le temps partagé consiste à découper le temps processeur en tranches (time - slice) et à attribuer séquentiellement ces tranches aux différentes tâches (multiplexage temporel du µP).   Le découpage en tranches de temps est géré à partir d’un circuit d’horloge fonctionnant en IT. Le choix de la durée (quantum de temps Q ou time-slice) peut être délicat (valeur courante pour un système de type Unix: 10 ms). Temps Réel

Modes d’ordonnancement (scheduling) L’ordonnanceur d’un OS POSIX (LynxOs ou Linux RT) propose 3 modes de fonctionnement :    SCHED_FIFO : lorsqu’un processus devient prêt, il est exécuté immédiatement. Le scheduler choisit d’élire le processus possédant la plus grande priorité et l’exécute. Le scheduler n’interrompra l’exécution que dans trois cas : un autre processus de type SCHED_FIFO possédant une priorité plus élevée passe à l’état prêt, il est alors exécuté (préemption) ; le processus se suspend dans l’attente d’un événement ; le processus abandonne volontairement le temps processeur par un appel yield. Le processus passe alors à l’état prêt et le scheduler prend la main.     SCHED_RR (Round – Robin) : lorsqu’un processus devient prêt, il est exécuté immédiatement. Il lui est attribué un quantum de temps. Lorsque le quantum expire, un processus de priorité supérieure ou égale peut être choisi et exécuté. Le mode round – robin est aussi appelé priorité tournante.  SCHED_OTHER : ce mode est différent suivant les systèmes. Pour Lynx, un quantum de temps fixe est défini par niveau de priorité. Temps Réel

Préemption La préemption est un des outils mis en œuvre pour assurer l'aspect déterministe d'un système. La préemption se définit comme la réquisition du processeur pour l'exécution d'une tâche et d'une seule pendant un temps déterminé. Un ordonnancement statique à base de priorités peut se dérouler de deux façons distinctes :   ordonnancement sans préemption : lorsque le processeur est inactif, 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éemption : lorsque le processeur est inactif, la tâche prête de plus haute priorité sera choisie pour être exécutée. A chaque instant cette tâche peut être préemptée (remplacée) par n'importe quelle tâche plus prioritaire qui serait devenue prête. Temps Réel

Interruption Rôle: prendre en compte des évènements externes au processeur (asynchrones) La prise en compte d'une interruption provoque l'arrêt du programme en cours et l'exécution d'un programme associé à cette IT. La gestion des IT est une caractéristique essentielle d’un exécutif TR :   le masquage des interruptions est un autre moyen propre à assurer un certain déterminisme et intervient au niveau processeur. Temps Réel

Multitâche Un exécutif temps réel reprend tout ce qui caractérise un système multitâche :    exécution concurrente de tâches ;  synchronisation et communication entre tâches, ... etc ... La qualification "temps réel" n'implique pas forcément l'ajout de fonctionnalités logicielles supplémentaires par rapport à un système multitâche, mais plutôt l'adoption de stratégies différentes : le déterminisme et la préemption. Temps Réel

Tâches périodiques et apériodiques Une tâche périodique peut donc être exécutée une fois par période T et elle peut être synchrone avec une horloge temps réel. Une tâche périodique sera hors-délai si sa périodicité n'est pas respectée.   Une tâche apériodique est en général associée à un événement asynchrone (une interruption) et doit être traitée dans un délai maximum à ne pas dépasser. Temps Réel

Horloge temps réel L'horloge temps réel est utilisée précisément pour :    déclencher périodiquement des tâches quand celles-ci ont été mises en place ;    gérer le temps partagé entre les tâches (round robin) ;    connaître le temps écoulé depuis une certaine action ;    gérer les timeout des primitives RT. A chaque TIC de l'horloge, l'ordonnanceur est invoqué, il appelle une tâche horloge de plus haute priorité qui effectue les actions suivantes :  décrémentation d'une unité le compteur pour chaque tâche suspendue sur un timeout  mise en file des tâches prêtes si le compteur de la tâche est arrivée à zéro  lancement des tâches attachées à un mode périodiques La notion de temps est généralement exprimée en TIC d'horloge (éventuellement en ns). Temps Réel

Caractéristiques et performances temporelles (1) Pour réduire les surcharges de fonctionnement et afin d'accélérer le système, le noyau d'un STR doit avoir les caractéristiques suivantes :    une rapide commutation de contexte ;  une petite taille (avec des fonctionnalités minimales) ;  temps de réponse rapide aux interruptions ;  un temps réduit où les IT sont inhibées ;  gérer les partitions de mémoire (pas de mémoire virtuelles) ;  avoir la possibilité de verrouiller dans la mémoire des données ou du code ; Temps Réel

Caractéristiques et performances temporelles (2) Afin de satisfaire les exigences de temps, le noyau doit :    disposer d'une horloge temps réel ;  être doté d'un ordonnanceur de tâches par priorité ;  disposer des fonctions de blocage de tâches sur un délai et de déblocage à la fin du délai (temporisation) ; En général, le noyau intègre :  le multitâche  la communication et synchronisation inter tâches. Temps Réel

Caractéristiques et performances temporelles (3) Les performances temporelles d'un RTOS dépendent évidemment des performances du RTOS lui même mais aussi de la plate-forme matérielle sur lequel il fonctionne et des procédures de tests et de mesures.   On retrouve généralement les deux critères suivants :  la réponse à une interruption  la commutation de tâche  D'autres facteurs temps influent également sur les performances de l'exécutif :  temps maximum de masquage des IT dans l'exécution des primitives  temps de réarmement d'une interruption  temps d'exécution de certaines primitives. Temps Réel

Caractéristiques et performances temporelles (4) Il convient de noter qu'un exécutif temps réel n'est pas seulement caractérisé par son aspect déterministe mais aussi par ses outils de développement, des librairies, de la portabilité, ...   Il faut tout de même considérer que les performances d'un STR ou d'une application temps réel sont souvent inversement proportionnelles à leur convivialité et à leur portabilité. Temps Réel