Pile embarquée
Une pile embarquée (Embedded Stack) désigne un ensemble étroitement intégré de composants logiciels, de bibliothèques, de cadres (frameworks) et d'environnements d'exécution qui sont profondément intégrés dans une application ou un appareil plus vaste. Contrairement à une architecture monolithique traditionnelle où les composants sont des services séparés, une pile embarquée est conçue pour fonctionner de manière cohérente dans une limite opérationnelle spécifique, souvent sur du matériel aux ressources limitées ou comme partie essentielle d'une plateforme plus large.
Le choix d'une pile embarquée a un impact significatif sur les performances, la latence et l'utilisation des ressources. Pour les dispositifs IoT, les systèmes automobiles ou les applications spécialisées de calcul en périphérie (edge computing), minimiser la surcharge est essentiel. Une pile embarquée bien conçue permet une exécution hautement optimisée, permettant des capacités de traitement en temps réel que les services cloud externes pourraient introduire une latence inacceptable.
Le mécanisme opérationnel repose sur la superposition (layering). La couche la plus basse gère généralement l'abstraction matérielle (pilotes), suivie des services du système d'exploitation, des environnements d'exécution de base (comme une machine virtuelle ou un interpréteur spécialisé), et enfin, la logique applicative elle-même. Les composants communiquent en interne via des mécanismes à haute vitesse et à faible surcharge, tels que la mémoire partagée ou les appels de fonctions directs, plutôt que par des protocoles réseau.
Ce concept chevauche les Microservices (qui favorisent le découplage pour l'évolutivité) et la Programmation en métal nu (Bare-Metal Programming, qui se concentre sur des couches d'abstraction minimales). La pile embarquée privilégie l'intégration profonde et la performance par rapport à la flexibilité distribuée.