Exécution embarquée
Un environnement d'exécution embarqué (Embedded Runtime) désigne un environnement d'exécution logiciel intégré directement dans une application ou un système plus vaste, au lieu de fonctionner comme un processus séparé et autonome. Au lieu de dépendre d'un environnement d'exécution traditionnel et externe (comme un processus serveur dédié), les composants nécessaires à l'exécution du code sont empaquetés et exécutés localement dans l'espace mémoire de l'application hôte.
Le principal moteur de l'utilisation d'un environnement d'exécution embarqué est la performance et l'efficacité. En éliminant la surcharge de communication inter-processus (IPC) — le temps et les ressources consacrés à la communication entre processus distincts — les applications peuvent atteindre une latence plus faible et un débit plus élevé. Cela les rend idéales pour les environnements aux ressources limitées ou pour les opérations en temps réel à haute fréquence.
À un niveau fondamental, un environnement d'exécution embarqué intègre l'interpréteur de langage nécessaire, la machine virtuelle (VM) ou le moteur d'exécution directement dans le binaire ou la bibliothèque de l'application. Lorsque l'application démarre, l'environnement d'exécution est initialisé parallèlement à la logique principale de l'application. Cela permet à l'application d'exécuter du code (par exemple, du script, du traitement de données ou de l'inférence IA) en utilisant le moteur intégré sans avoir besoin de lancer des services externes.
Les environnements d'exécution embarqués sont répandus dans plusieurs architectures modernes :
Ce concept croise des notions telles que WebAssembly (Wasm), qui fournit un environnement d'exécution portable et isolé, et la conteneurisation, qui gère l'intégralité de la frontière du processus.