Traditionnellement, le micrologiciel est un code CPU qui réside sur une ROM non modifiable qui est nécessaire pour qu'un périphérique matériel démarre et charge un système d'exploitation ou un binaire (logiciel) de choix. Parfois, aucun choix d'un binaire n'est donné et un attaché au firmware de la partie de démarrage est utilisé.
Tous les processeurs ont le problème classique en ce sens qu’ils récupèrent les instructions de la mémoire, une sorte de mémoire préprogrammée doit exister à une adresse fixe au démarrage du processeur, afin qu’elle puisse faire quelque chose automatiquement au démarrage. Le firmware existe à cet effet. Certains micrologiciels comportent également du code que les programmes ultérieurs peuvent utiliser pour les services. Le firmware du BIOS expose de nombreuses fonctions utilisées par DOS pour les entrées et sorties de base (d'où la raison pour laquelle BIOS signifie Basic Input Output System).
La distinction n'est pas totalement claire. Certaines (la plupart) des cartes WLAN nécessitent le chargement d'un firmware avant de commencer à fonctionner. Cependant, il y a généralement un minuscule micrologiciel sur l'appareil dont le travail consiste à ne rien faire d'autre que d'accepter un "micrologiciel" principal sur le bus USB lorsque l'appareil est démarré par le système d'exploitation, et de passer le contrôle lorsqu'il est chargé. La plupart des gens diraient que tout cela est un firmware.
Comme les EEPROM et la mémoire flash sont devenues plus courantes, le micrologiciel ne réside généralement plus dans une ROM non inscriptible mais dans la mémoire flash et peut être modifié. La distinction entre micrologiciel et logiciel est floue aujourd'hui avec l'avènement de la mémoire flash. Cependant, une chose n'a pas changé au fil des ans et c'est que les CPU sont toujours des CPU et nécessitent un code, ou un firmware, pour être visible au démarrage pour, eh bien, démarrer.
Les processeurs sont dans plus de périphériques que jamais, donc développer et permettre la mise à jour du firmware en cas de bugs est un gros problème maintenant et de nombreux périphériques matériels avec un CPU ont des interfaces de mise à jour du firmware, parfois non documentées.
Un firmware peut être utilisé pour charger un OS. Il peut contenir un chargeur de démarrage ou du code qui charge un chargeur de démarrage. Il est possible de stocker une image du système d'exploitation au même emplacement que le micrologiciel et de laisser le code de démarrage du micrologiciel charger le système d'exploitation (les téléphones portables le font). Les BIOS PC n'incluent généralement pas de chargeurs de démarrage. U-boot (pas pour les PC) est un exemple de micrologiciel "compatible avec le système de fichiers" qui charge directement un système d'exploitation.
Les logiciels ne possèdent généralement pas toutes les fonctionnalités d'un système d'exploitation complet en raison du principe selon lequel plus simple est plus fiable. Les firmwares les plus simples initialisent simplement un minimum de matériel, chargent un secteur ou bloquent un périphérique de stockage et y lancent l'exécution. C'est simple à programmer et donc facile à vérifier car sans bug. Les bogues dans le micrologiciel au démarrage peuvent en particulier entraîner un désastre pour un appareil.
Le firmware est un logiciel, sauf qu'au lieu d'être stocké sur disque, il est stocké dans une EEPROM qui est généralement flashable pour permettre les mises à jour.
Le micrologiciel est en quelque sorte un système d'exploitation, mais beaucoup plus restrictif et à usage unique car il ne sert qu'à contrôler cet appareil, tandis qu'un système d'exploitation est un système polyvalent qui permet à tout type de logiciel d'être exécuté sur plusieurs appareils matériels.
Non, les chargeurs de démarrage ne sont pas des micrologiciels car ce sont des logiciels qui existent sur le disque. Oui, le BIOS est dû au fait qu'il existe sur une puce (flashable). Non, GRUB n'est pas non plus un micrologiciel car, encore une fois, il n'est pas ferme (il n'y a pas de composant matériel), c'est un logiciel qui existe sur le disque - bien qu'il puisse (et peut) être installé sur une puce, auquel cas il le serait être firmware.
la source
La différence réside essentiellement dans l'emplacement du code. Généralement, le micrologiciel est gravé dans une sorte d'EPROM ou de mémoire flash intégrée, tandis que le logiciel est stocké sur un appareil de course de masse.
Le système d'exploitation d'un appareil peut résider dans un micrologiciel ou un logiciel. Sur un PC, le firmware (BIOS) ne fournit que des services de bas niveau qu'un OS logiciel (Windows / Linux / etc) peut utiliser. Dans les appareils mobiles, le système d'exploitation est généralement intégré au micrologiciel.
Selon la définition de (1), le BIOS de l'ordinateur est un micrologiciel, mais les chargeurs de démarrage, qui résident sur le disque dur, sont des logiciels.
la source
Les limites peuvent être un peu floues.
Un logiciel est généralement une instruction ou une routine qu'un ordinateur peut exécuter.
Le micrologiciel est généralement des instructions spécifiques (logiciel) qui sont chargées dans / sur le matériel afin qu'elles puissent remplir leur fonction.
Je dirais qu'à peu près chaque pièce de matériel a une sorte de firmware inclus.
Encore une fois, je ne pense pas qu'il existe un guide définitif pour savoir où commencer et où s'arrêter - tout ce qu'est un firmware, c'est un logiciel qui est compilé pour n'importe quelle puce se trouvant dans l'appareil.
Quant à votre deuxième question sur le firmware, je dirais que les bootloaders ne le sont pas mais que le BIOS l'est et que grub ne l'est pas.
C'est très difficile de tracer la ligne mais ... la façon dont je le vois, c'est que le BIOS (maintenant EFI) est le firmware de la carte mère, et le disque dur a son propre firmware.
Ainsi, le chargeur de démarrage / grub est un logiciel pur - il peut effectuer des tâches avec le disque dur, mais il ne contrôle directement aucun matériel.
Si vous prenez un appareil embarqué tel qu'un Iphone / Ipad, où commence le firmware et le logiciel!? Si vous considérez IOS comme un firmware, alors pourquoi pas Windows ou similaire.
Pour moi, cela montre que les limites sont là où les fabricants ou les vendeurs de tout appareil vous permettent de prendre le contrôle et ce n'est pas vraiment une chose fixe / science exacte.
Par exemple,
Pour compliquer davantage - quand je dis sur demande, cela peut provenir d'un pilote dans un autre logiciel
Maintenant, un Ipad, ou un Iphone, ou tout autre appareil embarqué ...
Pour résumer...
Pour moi, je dirais que firmware = le logiciel qui vient sur les appareils où un logiciel pur est acheté en tant que données, mais je suis sûr que d'autres peuvent dire différent!
la source
Je veux donner une réponse en seulement quelques mots. Le micrologiciel et le système d'exploitation sont tous deux très importants pour que tout système numérique démarre et fonctionne correctement et nous discuterons de la façon dont ces deux fonctionnent. Supposons que nous avons éteint notre smartphone et que nous allumions après avoir appuyé sur le bouton d'alimentation de notre smartphone, cette commande ira à la puce du BIOS qui est une mémoire non volatile et contenant un programme de firmware. dans les deux sens vers RAM et ROM, il donne la commande ram pour retirer les codes du système d'exploitation de Rom et une autre commande pour ROM pour donner une copie de son système d'exploitation à RAM pour activer tous les autres composants de ce système.
la source