Narrateur : Dans cette leçon,
nous allons commencer à parler des systèmes embarqués.
Lorsque l'on parle de système embarqué,
il s'agit d'un système informatique
conçu pour exécuter une fonction spécifique et dédiée.
Souvent, lorsque nous parlons d'un système embarqué,
nous parlons de choses qui se
situent davantage dans le domaine de la fabrication ou de l'automatisation.
Ainsi, dans un système de goutte-à-goutte
médical, un microcontrôleur peut avoir une seule fonction.
Il s'agit de mesurer le volume de liquide qui
passe dans la machine et dans la perfusion afin de pouvoir donner
au patient ce dont il a besoin.
Vous pourriez en avoir un autre
pour un système de contrôle dans une station d'épuration.
Sa responsabilité est de s'assurer
que l'eau s'écoule à un certain débit.
Et ils vont ouvrir ou fermer des vannes pour
s'assurer que nous maintenons ce débit dans le système.
C'est l'idée d'un système embarqué.
Il peut s'agir d'un appareil très, très
simple ou d'un appareil très
complexe doté d'un système d'exploitation complet
comme Linux ou Android.
Cela dépend.
Dans cette leçon, je vais me
concentrer sur les systèmes embarqués spécifiques qui
ont une fonction unique et disposent
de leur propre système d'exploitation ou microprocesseur
dédié à cette fonction.
Par exemple, chez moi, j'ai un compteur intelligent.
Ainsi, si je sors de chez moi, je peux regarder
le compteur électrique de ma maison
et il m'indiquera le nombre de kilowatts par heure que je consomme et combien
j'ai consommé au fil du temps.
Aujourd'hui, ces informations sont connectées à l'internet, de sorte que
la compagnie d'électricité n'a plus
besoin d'envoyer quelqu'un chez moi pour
relever le compteur une fois par mois.
Au lieu de cela, tout se fait désormais par voie électronique.
Pour ce faire, ils utilisent des modems
cellulaires et se connectent, via le
réseau cellulaire, à leur siège et à leurs serveurs
pour transmettre les données relatives à
la consommation d'énergie.
Si vous regardez le compteur de votre
maison, vous avez probablement quelque chose d'assez similaire.
Aujourd'hui, ces types de systèmes intégrés sont considérés
comme des environnements statiques dans lesquels des
changements fréquents ne sont pas effectués ou autorisés.
À quand remonte la dernière mise à jour du logiciel de votre
compteur électrique, par exemple ?
Vous ne l'avez probablement jamais fait.
Et la compagnie d'électricité ne le fait probablement
pas très souvent non plus.
C'est l'idée de ces systèmes intégrés.
Il s'agit d'un système très
dépouillé, conçu dans un seul et unique but.
Ce faisant, ils deviennent plus sûrs parce qu'ils n'ont
pas beaucoup de code supplémentaire.
Mais si le code d'origine n'a pas
été mis en place en bon état, il est difficile d'effectuer
des mises à jour, car ces appareils ne
sont pas conçus pour recevoir des mises
à jour logicielles fréquentes.
Pour cette raison,
les systèmes embarqués ont souvent très peu d'aide
pour identifier et corriger les problèmes de sécurité.
Vous ne pouvez pas appeler la compagnie d'électricité
pour lui demander de sécuriser votre compteur.
Cela ne fait tout simplement pas partie de ce qu'ils vont faire pour vous.
Ils vont le faire comme ils l'entendent
parce que c'est leur appareil.
Et souvent, si vous avez un système embarqué dans votre
usine, si vous êtes dans une zone de production, vous n'aurez
qu'un soutien limité de la part du fabricant.
Il s'agit donc d'un domaine dans
lequel il est important de placer tous
ces appareils sur un réseau séparé
et de ne pas les connecter à l'internet en général, ce qui pourrait
constituer une grande vulnérabilité pour vous.
Lorsque l'on parle de systèmes
intégrés, il existe un terme appelé PLC,
c'est-à-dire un contrôleur logique programmable.
Il s'agit d'un type d'ordinateur conçu pour être déployé
dans un environnement industriel ou extérieur
et qui peut automatiser nos systèmes mécaniques modernes.
Lorsque vous pensez à un automate, je veux
que vous pensiez à quelque chose comme la fabrication
qui va ouvrir ou fermer une vanne pour laisser
entrer plus ou moins d'eau.
C'est l'idée d'un automate.
Il s'agit d'un automate programmable.
Ces automates fonctionnent avec des microprogrammes,
car il s'agit là encore de systèmes intégrés.
Ainsi, le firmware, qui est un logiciel sur une puce, peut être corrigé
et reprogrammé pour corriger les vulnérabilités
lorsqu'elles surviennent.
Mais là encore, il s'agit d'un processus très spécifique
et l'assistance du fabricant est généralement limitée.
Ce n'est pas comme chez Microsoft
où l'on vous donne un correctif tous les mardis.
Avec ces automates, vous pouvez recevoir un correctif tous les six mois,
ou tous les ans, ou tous les deux ans.
Il s'écoule généralement beaucoup de temps entre les correctifs.
L'autre chose dont nous voulons parler, c'est de certains
des systèmes d'exploitation qu'ils utilisent.
Il existe donc ce que l'on appelle un RTOS, c'est-à-dire
un système d'exploitation en temps réel.
Il s'agit d'un type de système d'exploitation
qui privilégie l'exécution déterministe des opérations.
Cela nous aidera à garantir une réponse cohérente
pour les tâches critiques.
Réfléchissez à ceci.
Si vous gérez quelque chose qui doit ouvrir ou fermer une vanne à l'intérieur
d'une centrale nucléaire, pouvez-vous
avoir la possibilité de la mettre hors service à tout moment ?
Probablement pas, n'est-ce pas ?
C'est l'idée de l'utilisation d'un RTOS, un système
d'exploitation en temps réel.
En effet, un grand nombre de nos systèmes
intégrés ne peuvent tolérer les redémarrages ou les pannes
et doivent avoir des temps de réponse
prévisibles à quelques millisecondes près.
Donc, si je construis quelque
chose qui va faire fonctionner des parties d'un avion, qui
va aider mon pilote automatique à voler, et si le pilote automatique
doit faire des ajustements sur les ailes toutes
les quelques millisecondes, eh bien, c'est quelque chose pour lequel
nous voudrions utiliser un système d'exploitation
en temps réel.
Nous ne pouvons pas utiliser un système Windows standard pour cela.
Il n'est tout simplement pas assez rapide ni assez puissant.
Il est sujet à des redémarrages ou à des pannes, à des correctifs
de sécurité et à toutes sortes d'autres choses.
Lorsque vous entendez ce terme, pensez qu'il s'agit
du type de système d'exploitation souvent utilisé
avec les systèmes embarqués, en particulier
dans les applications critiques.
Une autre façon de procéder consiste
à utiliser ce que l'on appelle un système sur puce.
Il s'agit d'une autre forme de systèmes intégrés.
C'est ici que notre processeur intègre la
fonctionnalité de plate-forme de plusieurs contrôleurs
logiques sur une seule puce.
Ce système sur puce peut être très économe en énergie, c'est pourquoi il est souvent
utilisé pour les petits appareils qui doivent être dotés
d'un système intégré.
Ainsi, si je dois créer quelque
chose qui va avoir un système
intégré et être très petit pour tenir dans ma poche, j'utiliserai
généralement quelque chose comme un système sur puce.
Si vous utilisez un aspirateur
Roomba ou un robot aspirateur, ceux-ci
utilisent un système sur puce parce qu'ils essaient de rassembler
toutes les informations sur une seule puce,
parce que cela prend moins de place et que vous
pouvez donc laisser plus de place pour les pièces fonctionnelles
dont vous avez besoin, comme l'aspirateur.
Un système sur puce désigne un type de circuit intégré qui contient
tous les composants d'un système informatique
sur une seule puce.
Il s'agit du processeur, de la mémoire, du stockage, du processeur
graphique et des périphériques, tels que les
contrôleurs USB, les circuits de gestion de l'alimentation
et les radios sans fil pour le wifi ou le Bluetooth.
Un bon exemple de système sur puce est le Raspberry Pi, qui
contient un ordinateur entièrement
intégré sur une seule puce.
Bon nombre de ces systèmes sur puce seront
intégrés dans d'autres appareils tels que
les téléviseurs intelligents et les décodeurs, comme la Fire TV d'Amazon, Roku
et les appareils de diffusion en continu Apple TV.
Les systèmes sur puce sont devenus très populaires en raison
de leur faible consommation d'énergie,
de leurs performances décentes et de leur faible encombrement.
Par exemple, si vous avez un Roku ou un Fire TV Stick,
ils ont la taille d'une clé USB.
Pourtant, ils offrent une fonctionnalité smart TV pleinement opérationnelle
dans n'importe quel téléviseur existant
et ils peuvent traiter la vidéo en continu
via une connexion sans fil à l'aide de ces appareils.