À retenir
- C'est la garantie théorique que tout sera fini à temps.
- C'est une notion vitale pour la sécurité des systèmes embarqués.
- Elle dépend à la fois de la puissance du matériel et de l'efficacité du logiciel.
L'ordonnançabilité désigne la capacité d'un ensemble de tâches informatiques à être organisées et exécutées par un processeur tout en respectant des délais précis. C'est un peu comme gérer l'emploi du temps d'une cuisine de restaurant : on vérifie s'il est physiquement possible de préparer tous les plats commandés avant que les clients ne s'impatientent, compte tenu du nombre de fourneaux disponibles.
Étymologie
Il s'agit d'un néologisme construit sur le verbe « ordonnancer » (organiser selon un ordre précis) et le suffixe « -abilité » qui exprime une possibilité ou une qualité. C'est l'équivalent français du terme technique anglais schedulability.
Exemples d'usage
- Le système de bord d'un avion qui doit traiter les données des capteurs toutes les 10 millisecondes.
- Un robot industriel dont les mouvements doivent être synchronisés à la microseconde près pour éviter une collision.
- Le moteur d'un jeu vidéo qui doit calculer les images et la physique avant chaque rafraîchissement d'écran.
Cas d'usage
Ce concept est crucial dans les systèmes temps réel (aéronautique, automobile, médical) et le développement de noyaux de systèmes d'exploitation. Il permet de prouver mathématiquement qu'aucune tâche critique ne sera en retard, même si le processeur est très sollicité.
Bonnes pratiques
Pour garantir l'ordonnançabilité, il faut estimer avec précision le temps d'exécution maximal de chaque programme (le pire cas possible). Il est aussi recommandé d'utiliser des algorithmes d'ordonnancement éprouvés, comme le Rate Monotonic ou le Earliest Deadline First.
Synonymes
Antonymes
Conseil
Si vous travaillez sur des systèmes simples (web, applications mobiles), vous n'aurez pas souvent à calculer l'ordonnançabilité. En revanche, si vous vous lancez dans l'électronique ou l'embarqué, apprenez à distinguer le temps d'exécution moyen du temps d'exécution critique.
Questions fréquentes
Que se passe-t-il si un système n'est pas ordonnançable ?
Le système risque de rater des échéances (deadlines). Dans un système critique, cela peut entraîner une panne matérielle ou un accident.
Est-ce que 'plus de puissance' règle toujours le problème ?
Pas forcément. Même avec un processeur ultra-rapide, une mauvaise organisation des priorités peut bloquer une tâche urgente au profit d'une tâche secondaire.