Qu'est-ce qu'un système d'exploitation embarqué ?

Un site système d'exploitation embarqué est essentiellement le cerveau d'un système informatique embarqué, qui définit la fonctionnalité d'un produit. Il est conçu et optimisé afin d'améliorer l'efficacité du contrôle des ressources matérielles, de piloter le traitement graphique et de réduire le temps de réponse des tâches effectuées par le dispositif. Dans cet article, nous allons développer cette définition du système d'exploitation embarqué à l'aide d'exemples, et faire la lumière sur les tenants et aboutissants des systèmes d'exploitation embarqués, que l'on trouve aujourd'hui dans presque tous les appareils intelligents.
 
À l'ère du numérique, la plupart des véhicules, des appareils et des dispositifs portables ont besoin de systèmes d'exploitation embarqués pour contrôler les fonctionnalités et exécuter les tâches avec efficacité. Au lieu de contrôler chaque partie du système individuellement, un système d'exploitation embarqué gère toutes les opérations matérielles programmables et fixes. Bien que ces systèmes aient pris d'assaut le monde électronique d'aujourd'hui, les gens ne sont toujours pas conscients de ce qu'ils peuvent apporter. Plongeons dans notre discussion sur les systèmes d'exploitation des ordinateurs embarqués.

Image représentant un système d'exploitation embarqué

Systèmes d'exploitation embarqués : Les bases

Un système d'exploitation embarqué est un ordinateur à petite échelle d'un système embarqué avec un nombre limité de fonctionnalités. Il est conçu pour exécuter une fonction ou un ensemble de fonctions d'un produit électronique final. À l'instar d'un PC de bureau qui nécessite un système d'exploitation tel que Windows, Linux ou Mac OS pour exécuter des applications de base, les systèmes intégrés ont également besoin d'un système d'exploitation pour faciliter et accélérer leur fonctionnement.

Par exemple, tous les téléphones mobiles sont dotés d'un système d'exploitation intégré, comme Android ou iOS, qui démarre lorsque le téléphone est allumé. Sans ce système d'exploitation, la mise en œuvre d'une application sur chaque téléphone mobile doté d'un matériel différent aurait été un cauchemar pour les développeurs. Le système d'exploitation embarqué leur permet de combler toutes les lacunes et de créer une application unifiée spécialement pour le système d'exploitation. Le système d'exploitation embarqué est également connu sous le nom de système d'exploitation en temps réel (RTOS) dans certains cas, que nous aborderons dans une autre section.

Voici quelques caractéristiques communes d'un système d'exploitation embarqué :

  • Efficacité énergétique
  • Moins de capacités de stockage 
  • Une puissance de traitement plus faible
  • Rapide et léger
  • Flexibilité des dispositifs d'E/S
  • Fonctionnement en temps réel
  • Adapté au cas d'utilisation prévu

Le logiciel incorporé dans un OS embarqué est essentiel à la fonctionnalité d'un produit. Chez Digi, presque tous nos produits utilisent un OS embarqué pour fournir leurs fonctionnalités et leurs performances. Dans le cas de nos Digi SOMsUn système d'exploitation embarqué complet, utilisé par les développeurs, présente des avantages considérables en permettant de débloquer les fonctions sophistiquées du matériel SOM et en fournissant des bibliothèques de code et des outils de développement faciles à utiliser et prêts pour la production, afin de créer des produits à l'épreuve du temps et hautement évolutifs dans les plus brefs délais.

Développeur de logiciels embarqués
 

Comment fonctionne un système embarqué ?

Les gens se demandent souvent comment fonctionne un système embarqué parce qu'il y a une forte demande pour une technologie de produit sophistiquée, et par conséquent il y a d'excellentes opportunités pour les développeurs de logiciels embarqués. Contrairement à un PC de bureau qui charge ou exécute des applications, un système d'exploitation embarqué est configuré à des fins plus restreintes et gère généralement une seule application sur un appareil.

Bien que l'étendue des fonctions du système d'exploitation soit limitée, il doit être fiable et fonctionner de manière transparente malgré les contraintes de taille, de puissance de traitement et de mémoire, car cette application spécifique est cruciale pour la fonctionnalité du produit final. Parmi les meilleurs systèmes d'exploitation embarqués pour les applications commerciales et industrielles, citons Embedded Linux et Android, Wind River VxWorks, Green Hills Integrity et QNX.

Vous vous demandez si les systèmes d'exploitation embarqués peuvent être mis à jour ou non ? Oui, les systèmes d'exploitation embarqués peuvent être mis à jour si le produit est conçu avec une mémoire flash et si la puce sur laquelle il est implémenté est flashable. Par exemple, votre téléviseur intelligent peut contenir un système d'exploitation intégré et une pléthore de fonctionnalités et de complexités. Plus il y a de fonctionnalités, plus il y a de bogues et de failles de sécurité à gérer. Les systèmes d'exploitation de ces appareils sont conçus pour être mis à jour afin d'éliminer les bogues ou d'ajouter de nouvelles fonctionnalités et d'offrir la meilleure expérience client.

Découvrez la famille SOM sur Digi ConnectCore

Systèmes embarqués sur modules basés exclusivement sur les processeurs d'applications NXP i.MX - conçus pour la longévité et l'évolutivité, dans les applications industrielles IoT .

Télécharger le PDF

Systèmes embarqués et non embarqués

Dispositif d'imagerie médicale
Un site OS embarqué fonctionne sur un dispositif qui est incorporé dans un produit final et a tendance à avoir des applications limitées. Parmi les dispositifs susceptibles d'inclure des systèmes d'exploitation embarqués, citons :

  • Pompes à perfusion
  • Fours industriels
  • Véhicules électriques 
  • Systèmes d'info-divertissement pour véhicules
  • Panneaux solaires
  • Contrôleurs de panneaux solaires

Femme travaillant sur un ordinateur portable
A OS non incorporé ou système d'exploitation général (GPOS) fonctionne sur un appareil autonome qui est le produit final. Ces systèmes d'exploitation sont généralement plus grands, plus personnalisables et offrent un plus grand choix d'applications. Voici quelques exemples de dispositifs non intégrés :

  • PC de bureau
  • Ordinateur portable
  • Serveur dédié

Ainsi, pour comprendre un système d'exploitation embarqué par rapport à un système d'exploitation de bureau, on pourrait dire qu'un produit comme une pompe à perfusion contient un ordinateur exécutant un système d'exploitation embarqué pour fonctionner, tandis qu'un système d'exploitation non embarqué fonctionne sur un ordinateur utilisé pour effectuer un travail automatisé, comme l'écriture ou la conception graphique.

Anciens produits de blanchisserie sans systèmes embarqués

Parmi les exemples d'applications sans système d'exploitation, citons les produits qui sont 100 % mécaniques ou qui comportent une électronique simple. Voici quelques exemples d'appareils sans système d'exploitation :

  • Vieux appareils ménagers
  • Véhicules anciens
  • Walkie-talkies/appareils de communication radio

Pour résumer :

  • Un dispositif intégré est un ordinateur qui est incorporé dans un produit final. Il peut nécessiter un système d'exploitation si la fonctionnalité de l'ordinateur est complexe, mais pas nécessairement.
  • Un dispositif non intégré est un ordinateur qui fonctionne de manière autonome et qui est le produit final lui-même.
  • Un produit sans dispositif intégré n'intègre pas du tout un ordinateur.

Histoire des systèmes d'exploitation embarqués

Ordinateur de guidage d'Apollo - 1966
Alors que Linux et Android sont relativement récents, le concept de systèmes d'exploitation embarqués remonte aux années 1960, avec l'introduction du Ordinateur de guidage d'Apollo. L'AGC "a été installé à bord de chaque Module de commande Apollo (CM) et Module lunaire Apollo (LM). L'AGC fournissait des interfaces informatiques et électroniques pour le guidage, la navigation et le contrôle du vaisseau spatial." (Source : Wikipedia)

Les systèmes informatiques embarqués ont parcouru un long chemin depuis lors, et l'évolution semble loin d'être terminée, grâce aux progrès de la technologie des microcontrôleurs, qui sont passés de 8 à 16 bits, puis à 32 bits. En raison de la complexité croissante des systèmes informatiques embarqués, les systèmes d'exploitation sont devenus la clé pour gérer efficacement les logiciels embarqués.
 
Aujourd'hui, une myriade de systèmes d'exploitation embarqués différents sont disponibles. L'évolution de la conception et de la mise en œuvre des systèmes d'exploitation embarqués a été motivée par la nécessité de contrôler les applications logicielles qui tirent parti de l'évolution rapide du matériel.
 

Systèmes d'exploitation embarqués : Utilisations courantes

Les systèmes d'exploitation embarqués sont couramment utilisés dans de nombreux domaines, par exemple : les lecteurs multimédias, les systèmes de navigation d'avion, les systèmes de navigation de voiture et les équipements médicaux. Nous décrivons ci-dessous comment cette technologie rationalise le fonctionnement de ces exemples.
 

Utilisation commune - Comptage du stationnement

Pour gérer les entrées des utilisateurs et assurer le suivi du temps et des frais, les parcmètres des villes intelligentes nécessitent un système d'exploitation intégré. Ces dispositifs intègrent toute une série de fonctionnalités, selon leur conception. Par exemple, certains utilisent des capteurs pour détecter l'arrivée et le départ des véhicules, tandis que d'autres demandent au conducteur de saisir la place de stationnement ou l'immatriculation du véhicule. Une interface utilisateur propose au conducteur des sélections, comme l'option de définir l'heure de retour prévue et de payer en conséquence.

Parcomètre
 

Utilisation courante - Système de navigation d'un avion

Le système de navigation d'un avion est un excellent exemple de système d'exploitation en temps réel. Il s'agit de l'ordinateur principal d'un avion qui est interconnecté avec la plupart des systèmes de commande tels que les commandes du moteur, des ailes, de la sécurité et de la pression. Il est donc spécifiquement conçu pour fonctionner à l'intérieur d'un avion et aider à effectuer des opérations comme le décollage, l'atterrissage et les urgences.

Système de navigation de l'avion
 

Utilisation courante - Système de navigation pour voitures

Le système de navigation automobile est un petit ordinateur comprenant un écran tactile qui permet au conducteur de parcourir divers menus comme le GPS et la cartographie des itinéraires, la lecture audio, la radio, les appels mains libres et les systèmes de surveillance du niveau de carburant et de la pression des pneus. Sur véhicules connectés ces systèmes sont encore plus complexes, puisqu'ils intègrent des systèmes de communication entre véhicules et entre intersections. véhicule à n'importe quoi ou "V2X" les systèmes de communication. L'ordinateur est conçu pour accomplir toutes ces tâches et améliorer l'expérience de conduite.

Système de navigation automobile
 

Utilisation courante - Équipement médical 

Médical Les équipements intégrés aux systèmes d'exploitation embarqués surveillent automatiquement les constantes biologiques, administrent les médicaments et envoient des alertes au personnel si les constantes biologiques dépassent ou non la valeur seuil. Ainsi, les équipements médicaux peuvent aider les médecins à traiter leurs patients, à surveiller leur santé et à leur sauver la vie.

Dispositif médical avec affichage graphique
 

Systèmes d'exploitation en temps réel (RTOS)

Un système d'exploitation en temps réel (RTOS) est généralement un système d'exploitation aux fonctions réduites qui prend en charge des applications multithreads en fournissant des sorties traitées dans des délais précis et possède un comportement déterministe. Comme ces applications sont critiques en termes de temps, elles doivent être exécutées exactement au moment prévu afin de maintenir le fonctionnement de l'ensemble du système. 
 
Les airbags de nos véhicules sont le meilleur exemple de ce concept. Lorsqu'une voiture roulant à vive allure a un accident, les airbags doivent se déployer dans les 10 à 20 millisecondes suivant l'accident. Un retard, même de quelques millisecondes, peut entraîner la mort. Il n'y a donc pas de marge d'erreur, et la tâche doit être accomplie immédiatement. 

Système de coussins gonflablesD'autres exemples courants de RTOS sont :

  • Systèmes de transaction en ligne
  • Système de soins intensifs médicaux
  • Système de freinage antiblocage
  • Système de contrôle du trafic
  • Systèmes de cotation des prix du bétail
  • Systèmes de contrôle des compagnies aériennes

Les RTOS assurent une planification méticuleuse et une gestion des ressources nécessaires pour répondre à la demande des applications et garantir que les tâches sensibles au facteur temps respectent les délais. Il existe deux types de RTOS : les systèmes d'exploitation en temps réel souples et les systèmes d'exploitation en temps réel durs. La principale différence réside dans le fait qu'un RTOS dur doit exécuter de manière fiable une fonction spécifique dans un temps donné, par exemple X millisecondes.

Voici quelques caractéristiques des systèmes d'exploitation en temps réel :

  • Pilotage par les événements pour permettre au système de passer d'une tâche à l'autre en fonction de leurs priorités.
  • Programmation basée sur les priorités qui sépare le traitement analytique du traitement non critique. 
  • Développement modulaire basé sur les tâches qui facilite les tests modulaires basés sur les tâches.

RTOS et système d'exploitation embarqué 

Les RTOS peuvent être considérés comme un sous-ensemble des systèmes d'exploitation embarqués. On peut donc dire que tous les RTOS sont des systèmes d'exploitation intégrés. Cependant, tous les systèmes d'exploitation intégrés ne sont pas des RTOS. Parlons des caractéristiques temps réel des systèmes d'exploitation embarqués.

La principale différence entre les systèmes RTOS et les systèmes d'exploitation embarqués réside dans la criticité temporelle du système. Un exemple de système non critique est un système de divertissement à bord auquel chaque passager peut accéder pour regarder des films, jouer à des jeux ou regarder des émissions de télévision pendant le vol. Une fois que le passager a allumé le système, il n'y a pas de limite de temps pour la lecture des films ou des émissions.

D'autre part, le système de navigation d'un avion, responsable du décollage, de l'atterrissage et de nombreux autres processus, est soumis à des contraintes de temps. Il nécessite un facteur temps réel pour effectuer une tâche rapidement. Des retards inattendus dans un tel système ne sont jamais envisageables. Lors de la sélection de systèmes d'exploitation en temps réel pour l'informatique embarquée, il est essentiel d'évaluer ce type d'exigences.
 

Vous recherchez des solutions de systèmes d'exploitation embarqués ?


Bien que les systèmes d'exploitation embarqués et les systèmes d'exploitation à usage général présentent certaines similitudes, ils sont très différents, notamment en ce qui concerne leur conception et leur objectif. Le plus important est qu'un système d'exploitation embarqué est conçu pour fonctionner sur un matériel spécifique afin de répondre aux besoins spécifiques d'un produit final, alors qu'un système d'exploitation général classique est conçu pour être plus polyvalent. Et si l'on considère des systèmes tels que le Famille de produits Digi ConnectCoreL'environnement de développement le plus optimal sera celui d'une entreprise dans laquelle le matériel et le logiciel embarqués sont hautement intégrés.
Carte de développement Digi et logiciel

Il est également important de noter que pour toute application à temps critique, à mission critique ou à forte intensité graphique, telle que les systèmes de véhicules connectés et d'appareils médicaux, vous aurez besoin non seulement d'un système d'exploitation en temps réel, mais aussi d'une processeur ultra-rapide qui peuvent offrir les performances, la sécurité et la fiabilité requises.
 
Maintenant que vous connaissez les bases de l'OS embarqué, vous êtes prêt à vous plonger dans un exemple réel. Les produits Digi Embedded supportent les OS embarqués basés sur Yocto Project (basé sur Linux) ou Embedded Android. Nous fournissons des images préconstruites pour nos kits de développement, ainsi que de la documentation, des bibliothèques, des exemples et le cadre de sécurité Digi TrustFence pour vous aider à personnaliser le système d'exploitation pour votre solution embarquée spécifique de manière simple et sécurisée.
 
Pour plus d'informations, consultez notre gamme de systèmes sur module et de kits de développementet visitez notre portail de documentation intégré. Ou contactez-nous pour découvrir comment les services de conception Digi Wireless peuvent vous aider à planifier et à développer votre prochain produit et à le commercialiser rapidement.

Découvrez la famille de SOM Digi ConnectCore
Découvrez le Digi ConnectCore 8X, 8M Nano et 8M Mini.