4 Les différentes classes de système

 
 
Les systèmes d'exploitation multiprogrammés peuvent être classés selon différents types qui dépendent des buts et des services offerts par les systèmes. On distingue principalement trois grandes classes de systèmes 
  • les systèmes multiutilisateurs interactifs : l'utilisateur est "derrière son clavier et son écran" ; il soumet des exécutions et attend les résultats : il faut donc réduire au maximum le temps d'attente et faire croire à l'utilisateur qu'il est seul à utiliser la machine. Ce sont des systèmes adaptés à la mise au point de programmes (exemple : UNIX, Linux)
  • les systèmes à traitements par lots (batch) : les programmes sont exécutés en différé, les uns à la suite des autres. Ce sont des systèmes dédiés aux travaux de production (exemple : MVS...). On peut noter que beaucoup de systèmes offrent simultanément un service de temps partagé et un service de traitement par lots (VMS)
  • les systèmes temps réels : les programmes en exécution sont soumis à des contraintes de temps, c'est-à-dire que leurs exécutions doivent être impérativement achevées à une date butoir appelée échéance. Comme ces systèmes sont souvent interfacés à un environnement dynamique (procédé) délivrant des événements synchrones ou asynchrones auxquels ils doivent réagir, on parle aussi de systèmes réactifs. Ce sont des systèmes adaptés à la commande de procédé (exemple : LynxOS...)

4.1 Un peu plus sur les systèmes temps réel

Définition : Application temps réel
Une application temps réel est une application pour laquelle le facteur temps est la principale contrainte à respecter. L' application doit fournir un résultat juste mais si celui-ci est fourni hors délai, alors il ne pourra pas être validé. 
 
 
Il ne s’agit pas par contre, de rendre le résultat le plus vite possible, mais simplement à temps. L’échelle du temps relative à la contrainte temporelle varie d’une application à l’autre : elle peut être par exemple de l’ordre de la micro-seconde dans des applications de contrôle radars, mais peut être de l’ordre de l’heure pour une application de contrôle chimique. Par ailleurs, le système temps réel peut être qualifié de système embarqué ou enfouis (embedded system). On distingue deux types de contraintes temporelles:
  • Les contraintes temporelles strictes : les fautes temporelles (non-respect d’une échéance) sont intolérables pour la validité du système. Elles mettent en péril le système temps réel lui-même voire son environnement.
  • Les contraintes temporelles relatives : quelques fautes temporelles peuvent être sup port ées sans remettre en cause la validité du système. Il s'ensuit généralement une baisse de performance du système.
 
 
Un système temps réel se divise en deux parties qui interagissent entre elles (figure 7): 
  • D’un côté, un procédé, en général industriel, muni de capteurs, envoie des mesures ou déclenche des événements avec une occurrence périodique ou aléatoire.
  • De l’autre côté, un système informatique, connecté au procédé. Ce système informatique commande et contrôle de manière dynamique le comportement du procédé, en respectant les contraintes de temps qui lui sont associées. Il réagit dans un temps contraint aux événements et mesures prélevées sur le procédé : on dit alors que le système est réactif. Le système informatique se décompose lui-même en deux parties : l'application temps réel proprement dite construite par un ensemble de tâches, qui sont activées de manière périodique pour réaliser les prises de mesures ou de manière apériodique pour prendre en compte les événements du procédé. Ces tâches utilisent les services d'un noyau temps réel appelé généralement exécutif temps réel  pour s'exécuter et utiliser les ressource s matérielles ou périphériques.

Fig 7 : Système temps réel
 
Exemple d’une application temps réel
On considère un procédé chimique d’extraction de matière grasse à l’aide d’un solvant tel que l’hexane piloté par ordinateur. La colonne d’extraction comporte un robinet pour amener le solvant, un capteur de température et un ph-mètre. La colonne de distillation est munie également d’un capteur de température. Les deux dispositifs sont chauffés à l’aide de deux becs bunsen. L’application lit régulièrement les températures de la colonne de distillation et de la colonne d’extraction. Si une température devient anormale, par exemple, trop élevée, l’application doit réagir dans un délai maximum, qui garantit que la réaction chimique peut se poursuivre, pour agir sur le bec bunsen associé (le baisser). 
Introduction Introduction aux systèmes d'exploitation Classe des systèmes