Le plaisir d'apprendre

vendredi 4 mars 2016

Le BIOS


Le BIOS ( Basic Input / Output System ) se compose de deux éléments. D'une part, un circuit dip ou une mémoire flash contenant la partie logicielle. D'autre part, un circuit CMOS (Complementary Metal Oxyde Semiconductor) dans lequel sont sauvés les paramètres. Celuici doit impérativement toujours être maintenu sous tension, à l'aide d'une pile ou d'un accumulateur. S'il n'est plus alimenté, toutes les valeurs qu'il contient sont irrémédiablement perdues. La partie logicielle vous permet de configurer les différents éléments hardware qui composent votre PC. Par exemple, on y règle la date, l'heure, le type de(s) disque(s) dur(s), le type de(s) lecteur(s) de disquettes, le type d'affichage, ...
Plusieurs fabricants conçoivent des BIOS: AMI (American Megatrends), Award, Phoenix pour les plus courants. Mais certains grand constructeurs produisent leurs BIOS maison, tel IBM et Compaq. Jusqu'au 486, le BIOS se présentait sous la forme d'un circuit DIP non réinscriptible sans outils spécialisés. Désormais, une nouvelle technologie tend à se répandre,
le BIOS Flash, qui n'est autre qu'une EEPROM pouvant être reprogrammé au moyen d'un logiciel. Dans ce cas, ce dernier n'est plus vraiment à l'abri d'une agression logicielle, telle qu’un virus. Les BIOS récents, tel que les dernières versions du Award, intègrent un système appelé Energy Star. Ce dernier offre des fonctions d'économie d'énergie par l'extinction de l'écran, l'arrêt de rotation du disque dur après un temps déterminé. De plus, ils intègrent le support pour les cartes PCMCIA, ce qui évite de charger inutilement le fichier CONFIG.SYS avec des drivers, souvent buggés.

1. Démarrage du PC
Lors de l'initialisation du PC, le BIOS va procéder à un certain nombre de tests, afin de déterminer si la configuration et le fonctionnement du PC sont corrects. Le plus visible est le test de mémoire qui s'affiche sous forme de décompte en haut de l'écran. En fait, le BIOS va pousser ses investigations beaucoup plus loin et tester la plupart des composants. En cas d'erreur, un message est affiché ou, si cela n'est pas possible, un certain nombre de bips vont permettre de déterminer le type de problème. Seul IBM utilise un système de code d'erreur, dont la signification peut être obtenue auprès d'un revendeur agréé (ou sur mon site à moi). Si le test se termine sans problème, un bip retentit, dans les autres cas, le PC émet 2 bips ou plus. Histoire de vous rendre nerveux, Compaq utilise deux bips pour signaler une initialisation sans encombre. Cette procédure est appelée POST ( Power On Self-Test ). Le tableau cidessous vous donne un exemple succinct des tests effectués.

Processor register test :
ROM BIOS checksum check
Keyboard controller test
CMOS Shutdown register test
Channel 2,1,0 timer test
Memory refresh test
Base 64KB RAM test
CACHE memory test
CMOS battery, options set, checksum check
Display type verification
Entering protected mode
Address line test and memory size finding
Conventional and Extended memory test
DMA controller test
Keyboard test
System configuration verification and setup

2. Le Plug and Play
Lors d'une conférence qui s'est déroulée en 1993, Microsoft, Compaq, Intel et Phoenix Technologies ont fixé la norme Plug and Play. Celle-ci a pour but de permettre au BIOS de détecter automatiquement tout nouveau composant hardware. Afin de fonctionner dans des conditions idéales, ce type de BIOS doit avoir à faire à des composants spécifiquement conçus. En effet, une carte Plug and Play doit intégrer un composant appelé PLD ( programmable Logic Device ). Il reste encore la possibilité de modifier le circuit ASIC ( Application-Specific Integrated Circuit ) existant pour rendre possible le handshaking ( échange de données selon un protocole ). Le périphérique doit pouvoir communiquer un numéro d'identification unique et donner la liste des ressources qu'il exige et peut gérer. Cette norme nécessite aussi un ajustement des drivers logiciels actuels. En fait, le meilleur moyen d'obtenir un Plug un Play efficace et complet sous-entend une modification de toute la chaîne. Avec l'arrivée de Windows 95, des BIOS et des périphériques à la norme Plug and Play, les utilisateurs vont enfin pouvoir intégrer facilement des nouveaux composants matériels. Le principe établi par la norme est le suivant : A chaque redémarrage du PC, le BIOS examine le bus système. Ensuite chaque contrôleur est isolé et examiné ( contrôleur vidéo, disque, ... ). S'il détecte un quelconque changement de configuration matérielle, il tente d'allouer les ressources automatiquement. Il passe ensuite un rapport au Gestionnaire de configuration qui affine les paramètres du nouveau périphérique. Par défaut, chaque composant se voit assigner les ressources qu'il préfère. En cas de conflit, il est reconfiguré jusqu'à obtention d'une configuration stable. Le système d'exploitation transmet alors aux pilotes les informations sur les ressources qui leur ont été attribuées. Les données de la nouvelle configuration sont alors sauvegardées dans une mémoire non volatile, située sur la carte-mère. Les spécifications font état de 256 octets par carte ISA. Cette mémoire porte le nom de ESCD ( Embedded System Configuration Data ). Actuellement, un semblant de Plug and Play est disponible sur les bus EISA et MCA. Son coût et son manque de compatibilité ne lui ont pas permis de remporter le succès escompté. Dorénavant, on trouve des carte-mères disposant de BIOS PnP ( tel l'Endeavor d'Intel ). On doit alors y préciser l'OS PnP, sous-entendu le système d'exploitation Plug 'n Play (Windows 95, ...).

3. Les bios flash
De plus en plus de constructeurs de cartes-mères adoptent des BIOS de type flash. Leur nom est issu du fait qu'ils sont stockés dans une mémoire flash, et non dans une simple PROM. Ils peuvent ainsi être mis à jour par logiciel. Auparavant, il était quasi impossible de remplacer un BIOS en PROM, car la distribution de ce type de circuits se faisait de manière quasi confidentielle. Désormais, il suffit de se procurer une image du BIOS, sous forme d'un simple fichier binaire, pour updater son BIOS. Une carte-mère disposant d'un BIOS Flash est généralement fournie avec une disquette. Celle-ci contient un utilitaire permettant d'écrire dans la mémoire flash. Avant d'updater un BIOS, il faut être sûr d'avoir choisi une version supportée par votre matériel. Ensuite, il faudra booter sur la disquette précitée et sauvegarder le BIOS actuel. Enfin, un nouveau boot sur cette même disquette vous permettra de mettre à jour votre BIOS. Attention, ne tentez pas ces opérations avec un gestionnaire de mémoire ( Himem.sys, ... ) chargé. Si votre machine venait à planter pendant l'update, de nombreuses carte-mères sont capables de restaurer le BIOS à l'aide d'un simple jumper. On trouvera facilement des mises à jour de ses BIOS sur Internet ou Compuserve, sur les sites des fabricants. Il existe même une société, nommée Mr BIOS, qui propose des BIOS shareware pour la plupart des cartes-mères. Ces BIOS disposent de fonctionnalités avancées et jouissent d'une excellente réputation. Un BIOS de type flash peut, en théorie, être agressé par des virus. En effet, sa forme logicielle le met a portée d'une telle menace. Pour éviter ce type de problème, de nombreux constructeurs proposent une protection matérielle contre l'écriture. Elle se présente généralement sous la forme d'un jumper situé sur la carte-mère.

4. Divers
Certaines marques proposent des BIOS dotés de très nombreuses fonctionnalités. Ainsi, les machines Compaq contiennent un jeu de test complet des composants, la possibilité
d'imprimer un rapport, et bien d'autres choses. Toutes ces options mobilisent une grande place de stockage, non disponible dans le mémoire flash. Compaq a résolu le problème en créant une partition non-dos de quelques mégas sur le disque master. Crée à l'aide d'un jeu de disquette, cette partition est visible à l'aide de fdisk, ou tout logiciel équivalent. Si elle n'est pas nécessaire au bon fonctionnement de la machine, il est conseillé de l'installer car elle offre des options intéressantes.