Les performances des premiers calculateurs « temps réel »
Un programme s’exécutant en temps réel a pour spécificité de devoir traiter les événements qui surviennent dans un ordre aléatoire, non prévu à l’avance, avec la rapidité requise.
Les premiers calculateurs informatiques ont été conçus pour traiter les données dans un ordre séquentiel, sans contrainte de temps particulière. Le passage au traitement dans un ordre aléatoire posait la question de l’ordonnancement des tâches, celles-ci devant s’exécuter dans un temps inférieur au temps de réponse attendu du calculateur.
Les mini calculateurs de l’époque se constituaient schématiquement de plusieurs éléments :
• Les « handlers », ou coupleurs, chargés de réaliser l’interface entre le monde extérieur et la machine, comportant une partie matérielle (la carte de couplage) et une partie logicielle (le « handler ») ;
• Une mémoire centrale et un processeur, l’ensemble formant la machine numérique capable d’exécuter un programme, lui-même formé d’un ensemble d’instructions préalablement compilées et introduites dans la mémoire du calculateur ;
• Un châssis capable d’accueillir les différents éléments matériels nécessaires au fonctionnement du calculateur : l’alimentation électrique, le bus permettant les échanges entre les différents éléments (se présentant sous la forme de « cartes électroniques).
Le programme introduit en machine devait donc réaliser des tâches d’entrées et sorties pour gérer les échanges avec le monde extérieur et, en fonction des événements à traiter, décider des actions à entreprendre.
On comprend la nécessité d’un découpage du programme en tâches élémentaires, et d’un ordonnanceur pour les lancer, les suspendre, ou les relancer au gré des événements.
Les concepteurs des premiers équipements de téléconduite ont mis en œuvre des solutions spécifiques, programmées en langage assembleur, dont ils vérifiaient élément par élément, puis au niveau du système global, la compatibilité avec les contraintes de performances. On imagine les efforts de recherche, d’essais et d’erreurs, que cela a représenté avant d’aboutir à des solutions fiables et stabilisées.