II.9.5.2.1. Les systèmes d'exploitation consomment
de la mémoire :
Les systèmes d'exploitation sont spécifiques au
processeur sur lequel ils s'exécutent. Par contre, ils restent
très généraux pour l'application qu'ils doivent
gérer. En effet, ils sont prévus pour exécuter n'importe
quel type d'application et ils doivent donc proposer des services suffisamment
généraux pour être utilisables par toutes.
La généralité du système
d'exploitation vis-à-vis de l'application fait qu'il est souvent plus
volumineux que nécessaire. C'est un défaut important dans le
monde des systèmes embarqués où la mémoire est
limitée.
Les systèmes d'exploitation modulaires tentent de
résoudre ce problème en mettant leurs fonctionnalités sous
la forme de modules optionnels, qui ne seront effectivement chargés dans
la mémoire que s'ils sont utilisés. Cependant, ces modules
restent eux-mêmes généraux, à moins d'avoir une
bibliothèque de modules contenant tous les types de modules
spécifiques possibles, ce qui n'est guère réaliste.
II.9.5.2.2. Les systèmes d'exploitation consomment
des ressources processeur :
Comme nous l'avons vu dans le paragraphe
précédent, les systèmes d'exploitation sont très
généraux pour les applications qu'ils doivent exécuter.
Cette généralité se paye en termes de mémoire
consommée, mais elle peut se payer aussi en termes de vitesse
d'exécution : par exemple les synchronisations utiliseront toujours des
mécanismes de sémaphores complets, alors que dans de nombreux cas
un simple verrou suffit.
La vitesse du système d'exploitation est aussi
limitée par l'ordonnancement dynamique des tâches qui demande du
temps aussi bien pour la décision que pour le passage d'une tâche
à l'autre.
II.9.5.2.3. Les systèmes d'exploitation peuvent
être non déterministes :
Nous avons vu que dans les systèmes embarqués,
des contraintes temps-réel pouvaient imposer que le fonctionnement soit
déterministe. Ce déterminisme n'est pas toujours aisé
à obtenir avec les systèmes d'exploitation qui sont des
programmes à exécution complexe. En fait, il est souvent
impossible de savoir avant utilisation si une application basée sur un
système d'exploitation va respecter des délais ou non.
II.9.5.3. Solutions alternatives aux systèmes
d'exploitation :
Nous avons vu précédemment les avantages et
inconvénients de l'utilisation des systèmes d'exploitation pour
les applications embarquées. Il existe aussi des solutions sans
système d'exploitation. Nous allons ici présenter les deux grands
types de solutions alternatives.
|