Système temps réel
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

En informatique industrielle, on parle d'un système temps réel lorsque ce système informatique contrôle (ou pilote) un procédé physique à une vitesse adaptée à l'évolution du procédé contrôlé.

Introduction

Les systèmes informatiques temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) réel se différencient des autres systèmes informatiques par la prise en compte de contraintes temporelles dont le respect est aussi important que l'exactitude du résultat, autrement dit le système ne doit pas simplement délivrer des résultats exacts, il doit les délivrer dans des délais imposés. Les systèmes informatiques temps réel sont aujourd'hui présents dans de nombreux secteurs d'activités : dans l'industrie de production par exemple, au travers des systèmes de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) de procédé (usines, centrales nucléaires), dans les salles de marché au travers du traitement des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.) boursières en " temps réel ", dans l'aéronautique (L'aéronautique inclut les sciences et les technologies ayant pour but de construire et de faire évoluer un aéronef dans...) au travers des systèmes de pilotage embarqués (avions, satellites), ou encore dans le secteur de la nouvelle économie au travers du besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes...), toujours croissant, du traitement et de l'acheminement de l'information (vidéo, données, pilotage à distance, réalité virtuelle (La réalité virtuelle est une simulation informatique interactive immersive, visuelle, sonore et/ou haptique, d’environnements réels ou imaginaires.), etc.). Le développement de systèmes temps réel nécessite donc que chacun des éléments du système soit lui-même temps réel, c’est-à-dire permette de prendre en compte des contraintes temporelles. Un système d'exploitation conçu de cette manière est appelé système d'exploitation temps réel.

Spécificités

Pour garantir le respect de limites ou contraintes temporelles, il est nécessaire que :

  • les différents services et algorithmes utilisés s'exécutent en temps borné. Un système d'exploitation temps réel doit ainsi être conçu de manière à ce que les services qu'il propose (accès hardware, etc.) répondent en un temps borné ;
  • les différents enchaînements possibles des traitements garantissent que chacun de ceux-ci ne dépassent pas leurs limites temporelles. Ceci est vérifié à l'aide du test d'acceptabilité.

Tâches

Une tâche est généralement représentée par un coût (Ci), une échéance (Di) qui est la date à laquelle la tâche doit avoir terminé son exécution, et dans le cas des tâches périodiques, par une période (Ti) qui représente ses instants d'activation (Activation peut faire référence à :). Une exécution de la tâche est appelée une instance.

Temps réel strict/souple

On distingue le temps réel strict ou dur (de l'anglais hard real-time) et le temps réel souple ou mou (soft real-time) suivant l'importance accordée aux contraintes temporelles. Le temps réel strict ne tolère aucun dépassement (Un dépassement est le fait de rouler pendant un instant, en général relativement court, à côté d’un autre véhicule à une vitesse supérieure à la...) de ces contraintes, ce qui est souvent le cas lorsque de tels dépassements peuvent conduire à des situations critiques, voire catastrophiques : pilote automatique (Un pilote automatique (souvent abrégé PA) est un système permettant de maintenir un véhicule sur une trajectoire et avec une vitesse...) d'avion (Un avion, selon la définition officielle de l'Organisation de l'aviation civile internationale (OACI), est un aéronef plus lourd que l'air, entraîné par un organe moteur (dans le cas d'un engin sans...), système de surveillance de centrale nucléaire (Une centrale nucléaire est un site industriel qui utilise la fission de noyaux atomiques pour produire de la chaleur, dont une partie est transformée en...), etc. À l'inverse (En mathématiques, l'inverse d'un élément x d'un ensemble muni d'une loi de composition interne · notée multiplicativement, est un...) le temps réel souple s'accommode de dépassements des contraintes temporelles dans certaines limites au-delà desquelles le système devient inutilisable : visioconférence, jeux en réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets », c'est-à-dire...), etc.

On peut ainsi considérer qu'un système temps réel (En informatique industrielle, on parle d'un système temps réel lorsque ce système informatique contrôle (ou pilote) un procédé physique à une vitesse...) strict doit respecter des limites temporelles données même dans la pire des situations d'exécution possibles. En revanche un système temps réel souple doit respecter ses limites pour une moyenne (La moyenne est une mesure statistique caractérisant les éléments d'un ensemble de quantités : elle exprime la grandeur qu'auraient chacun des membres de l'ensemble s'ils étaient tous identiques sans changer la...) de ses exécutions. On tolère un dépassement exceptionnel, qui sera peut-être rattrapé à l'exécution suivante.

Test d'acceptabilité

Théoriquement, le concepteur (Un concepteur est une personne qui imagine et réalise quelque chose. Ce mot vient du verbe concevoir.) d'un système temps réel prétendu strict devrait être capable de prouver que les limites temporelles ne seront jamais dépassées quelle que soit la situation (En géographie, la situation est un concept spatial permettant la localisation relative d'un espace par rapport à son environnement proche ou non. Il inscrit un lieu dans un cadre plus général afin de le qualifier à...). Cette vérification est appelée test d'acceptabilité, analyse de faisabilité ou encore contrôle d'admission; elle fait appel à la théorie (Le mot théorie vient du mot grec theorein, qui signifie « contempler, observer, examiner ». Dans le langage courant, une théorie est une idée...) de l'ordonnancement. Elle dépend de l'ordonnanceur utilisé et des caractéristiques des tâches du système. Pour un système souple, on pourra se contenter de mesures statistiques (La statistique est à la fois une science formelle, une méthode et une technique. Elle comprend la collecte, l'analyse, l'interprétation de données ainsi que la présentation de ces ressources afin de les rendre...) obtenues sur un prototype.

Condition de charge (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement transporté par un moyen de transport donné, et qui donne lieu à un...)

Pour tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) système de n tâches, la condition suivante est nécessaire mais pas suffisante à sa faisabilité :

\sum_{i=1}^{n} C_i / D_i \leq 1

Avec Ci le coût de la tâche et Di son échéance relative. Une valeur supérieure à 1 signifierait que le système nécessite plus de temps d'exécution que le processeur (Le processeur, ou CPU (de l'anglais Central Processing Unit, « Unité centrale de traitement »), est le composant de l'ordinateur qui exécute les programmes informatiques. Avec la mémoire...) ne peut en fournir.

Temps de réponse dans le cas le plus défavorable

Le temps de réponse dans le cas le plus défavorable d'une tâche est, parmi tous les scénarios possible d'exécution du système, la plus longue durée entre l'activation de cette tâche et son instant (L'instant désigne le plus petit élément constitutif du temps. L'instant n'est pas intervalle de temps. Il ne peut donc être considéré comme une durée.) de terminaison.

Une tâche est faisable si son temps de réponse dans le pire des cas est inférieur ou égal à son échéance. Un système est faisable si toutes les tâches qui le composent sont faisables.

Exemples de systèmes d'exploitation temps réel

  • Adeos (Adeos (Adaptive Domain Environment for Operating Systems) est un nano-noyau libre conçu pour abstraire les ressources matérielles dans le but de les partager entre divers systèmes d'exploitation ou plusieurs...)
  • ART Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent...)
  • ChorusOS
  • eCos (eCos est un système d'exploitation temps réel. Il permet de réaliser des applications temps réel.)
  • ELinOS
  • FreeRTOS (FreeRTOS est un noyau de système d'exploitation temps réel pour micro-controlleur.)
  • iRmx
  • ITRON
  • LynxOS (LynxOS est un système d'exploitation temps réel et de style UNIX de la société LynuxWorks pour systèmes embarqués. Parfois appelé tout simplement "Lynx", LynxOS est conforme au standard POSIX et offre une compatibilité avec Linux....)
  • MicroC/OS-II (µC/OS, développé par le canadien Jean J. Labrosse, est un exécutif temps réel destiné à des environnements de très petite taille construits autour de microcontrôleurs de type Freescale...)
  • Nucleus
  • OS-9 (OS-9 est un système d'exploitation temps réel dur né en 1979/1980, et créé par la société Microware Systems Corporation.)
  • OSE (Les oses (ou monosaccharides) sont les monomères des glucides. Ils ne sont pas hydrolysables. Tout comme les diholosides (ou disaccharides), ils possèdent un pouvoir sucrant, et sont...)
  • OSEK/VDX (OSEK est le sigle pour « Offene Systeme und deren Schnittstellen für die Elektronik im Kraftfahrzeug », en français Systèmes ouverts et interfaces...)
  • pSOS
  • PikeOS
  • QNX
  • RSX-11
  • RT-11
  • RT-LAB
  • RTEMS (RTEMS est un système d'exploitation temps réel libre pour systèmes embarqués.)
  • RTOS-UH
  • SCIOPTA
  • Symbian OS (Symbian OS est un système d'exploitation pour téléphones portables (on parle de "Smartphone") et PDA conçu par Symbian ltd. Il est l'héritier du système d'exploitation Epoc32 qui...)
  • VRTX
  • VxWorks (VxWorks est un système d'exploitation multitâche temps réel, généralement utilisé dans les systèmes embarqués.)
  • Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées aux machines compatibles PC. C'est le remplaçant de MS-DOS. Depuis les années 1990, avec la sortie de Windows 95, son succès commercial...) CE
  • RTLinux ou Real Time Linux
  • RTAI (RTAI est une extension libre du noyau Linux lui apportant des fonctionnalités temps réel dures.)
  • Xenomai (Xenomai est une extension libre du noyau Linux lui apportant des fonctionnalités temps réel dures.)

Bibliographie

Jane W. S. Liu (Liu (chinois : 柳宿, pinyin : liǔ xiù) est une loge lunaire de l'astronomie chinoise. Son étoile référente (c'est-à-dire...), " Real-time Systems ", Prentice Hall, 2000.

Page générée en 0.174 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique