Pour les personnes travaillant dans le domaine des systèmes d’information, le terme “virtualisation” est un mot que l’on entend souvent. Ce mot devrait être très familier, surtout si vous êtes impliqué dans la construction et la maintenance des serveurs. Cependant, si vous êtes ingénieur dans le système de production, il y a peut-être des gens qui disent : “J’entends souvent des mots, mais je ne connais pas les détails.” Jetons un coup d’œil à la relation entre les systèmes de production et la edge computing la virtualisation, avec des définitions et des exemples spécifiques de virtualisation.
Définition de la virtualisation
La définition de la virtualisation est “de cacher et d’abstraire les détails techniques du système”.
Dans les systèmes d’information, l’abstraction des ressources du système permet d’absorber les différences entre les systèmes d’exploitation et le matériel, de sorte que le même programme peut être exécuté même sur des systèmes d’exploitation et du matériel différents. C’est ce qu’on appelle assurer la portabilité. De même, lorsque vous exécutez plusieurs programmes en même temps, essayez d’exécuter les programmes sans être conscient des programmes des autres. Ces techniques sont très importantes pour les systèmes d’exploitation multitâches et les serveurs qui exécutent plusieurs logiciels sur un seul matériel.
Dans les serveurs en particulier, les ressources système telles que l’occupation de la mémoire et l’occupation de l’unité centrale sont souvent excédentaires. Il est donc concevable d’installer plusieurs logiciels serveur sur un seul matériel afin d’utiliser efficacement les ressources. Cependant, selon le logiciel serveur, l’environnement d’exploitation, les utilisateurs et le niveau de sécurité requis peuvent différer, et il peut être impossible de fonctionner sur un seul matériel en même temps. Par conséquent, il existe de nombreux cas où un logiciel de virtualisation est installé sur le serveur. En introduisant un logiciel de virtualisation, différents logiciels peuvent fonctionner indépendamment en même temps sans être conscients des conditions de fonctionnement de chacun.
La virtualisation, par contre, dans les systèmes de production est un concept relativement nouveau qui est apparu récemment. Fondamentalement, il s’agit de “cacher et d’abstraire les détails techniques du système”, mais il est caractéristique que ces abstractions soient réalisées par la technologie informatique.
Concrètement, il s’agit de reproduire la chaîne de production de l’usine sur un ordinateur et de simuler le mouvement, le rendement, la disposition, etc. de l’ouvrier avant de construire réellement la chaîne de production. Il s’agit également d’utiliser les équipements informatiques pour contrôler les lignes de production et maîtriser la production. Pour ainsi dire, on peut dire qu’il s’agit de “virtualiser” la ligne de production via des équipements informatiques.
Avantages et exemples concrets de la virtualisation dans les systèmes d’information
L’avantage de la virtualisation est, après tout, la liberté du système. Par exemple, la portabilité permet aux logiciels existants de fonctionner sur différents systèmes d’exploitation et sur du nouveau matériel. Il est également possible d’exécuter plusieurs programmes en même temps sans être conscient du comportement des programmes de chacun. Cela peut réduire le coût total du système, ce qui est souvent particulièrement utile pour les serveurs.
D’un autre côté, l’inconvénient est que le mécanisme de virtualisation devient compliqué et ralentit. Par conséquent, lorsque l’on construit un système en pensant à la virtualisation, il faut prévoir une capacité matérielle suffisante.
Voyons maintenant un exemple concret de la technologie de virtualisation.
- MVS
MVS (Multiple Virtual Storage) est un système d’exploitation pour mainframes développé par IBM, mais il est connu comme le système d’exploitation le plus rapide et le plus pratique au monde. La mémoire virtuelle est une technologie que l’on peut appeler “virtualisation de l’espace mémoire”, et elle est indispensable aux systèmes d’exploitation multitâches. Par exemple, supposons que plusieurs programmes soient exécutés en même temps lorsque la mémoire virtuelle n’est pas prise en charge. Dans cet environnement, supposons que le programme A écrive des données X dans un espace mémoire. Que se passe-t-il alors si le programme B écrit des données Y dans le même espace mémoire ? Après cela, même si le programme A essaie de lire les données, il lira les données Y, et les données ne seront pas cohérentes, donc le programme A ne fonctionnera pas correctement.
Par conséquent, avant que le programme B n’écrive les données Y par MVS, les données X sont enregistrées dans un périphérique de stockage externe. Il renvoie ensuite les données X en mémoire avant que le programme A ne les lise. Le principe de la mémoire virtuelle est d’effectuer cette opération de manière à ce que les programmes A et B n’en aient pas connaissance. Cela permet au programme de s’exécuter de manière indépendante, sans tenir compte du comportement des autres programmes. - Java VM
Jepense que les personnes impliquées dans les systèmes embarqués entendent souvent parler de Java. Java est un langage de programmation, mais il a en même temps l’aspect d’une “machine virtuelle”. En règle générale, le compilateur Java ne produit pas de code natif (code pouvant être exécuté directement par le CPU), mais du code intermédiaire. Ce code intermédiaire est une forme de code qui peut être exécuté par la VM Java (Java Virtual Machine). Le code intermédiaire est plus lent à exécuter que le code natif, mais même si le système d’exploitation et la configuration matérielle sont différents, si vous préparez une VM Java pour ce système d’exploitation et ce matériel, vous pouvez exécuter le code intermédiaire commun.
Il existe différents types de systèmes d’exploitation pour les systèmes embarqués destinés à différents usages, et il est souvent plus facile de développer une VM Java que de préparer un compilateur pour tous les systèmes d’exploitation. JavaVM a l’avantage d’absorber les différences entre les OS et le matériel et d’exécuter un code intermédiaire commun. Pour cette raison, Java est souvent utilisé dans les systèmes embarqués. - WINE
“WINE” est un logiciel qui permet d’exécuter des applications Windows sur Linux. C’est un type d’émulateur qui se situe entre les applications Linux et Windows et qui agit comme un pont entre les API (interfaces de programmation d’applications). Du point de vue de l’absorption des différences entre les systèmes d’exploitation, on peut dire que ce type d’émulateur relève de la virtualisation.
La virtualisation des systèmes de production et des exemples concrets
D’autre part, quels sont les avantages de la virtualisation des systèmes de production ?
En reproduisant la chaîne de production de l’usine sur un ordinateur et en simulant la chaîne de production, il est possible d’examiner et d’améliorer divers problèmes avant de lancer réellement la production. Il est également possible d’améliorer l’efficacité de la production et d’économiser de la main-d’œuvre en gérant la production à l’aide d’équipements informatiques.
Lors de la virtualisation des systèmes de production, notamment la surveillance et le contrôle de la production à l’aide d’équipements informatiques, le problème est que les protocoles de contrôle et les formats de données des équipements de fabrication sont différents. Les fabricants d’équipements de production utilisent souvent des protocoles de contrôle et des formats de données optimaux pour maximiser les performances de leurs équipements de production. Il existe un mouvement pour créer ces normes unifiées, mais la situation actuelle est qu’elles n’ont pas encore été réalisées.
Il est donc concevable d’introduire un serveur edge entre le système de commande de l’équipement de fabrication et le serveur cloud et d’effectuer des opérations sur le serveur edge pour absorber ces différences. De cette façon, du point de vue du serveur cloud , les formats de données et les protocoles de contrôle sont tous identiques. Par conséquent, un tel système peut également être appelé “virtualisation” dans le sens où il absorbe les différences entre les équipements de fabrication. L’introduction de edge computing à cette fin présente l’avantage de permettre à la fois le contrôle et la rapidité des équipements de fabrication.
En outre, si le serveur edge lui-même est virtualisé, plusieurs dispositifs de fabrication peuvent être surveillés indépendamment avec un seul matériel pour le serveur edge , et des logiciels peuvent être ajoutés ultérieurement. Cela permettra également de réduire les coûts d’exploitation.
Technologie de virtualisation et edge computing
Nous nous sommes penchés sur la signification et les exemples concrets de la virtualisation, tant du côté des systèmes d’information que des systèmes de production. Les différences entre les protocoles de contrôle et les formats de données des équipements de fabrication sur la chaîne de production sont souvent des problèmes sur le terrain, mais les absorber en edge computing est l’un des moyens efficaces. En outre, si le serveur edge lui-même est virtualisé, il est possible de construire de manière flexible un système autour de la chaîne de production. En outre, comme le serveur edge peut être adapté, il est possible de virtualiser l’usine étape par étape tout en utilisant l’équipement existant. Dans ce contexte, la prise en charge ou non de la virtualisation est une considération importante lors du déploiement d’un edge.