Logiciel présent sur tous les ordinateurs PC, le BIOS est un élément indispensable à l’initialisation de l’ordinateur. Il s’occupe de tester les composants présents physiquement dans l’ordinateur et ensuite d’amorcer, la plupart du temps, le système d’exploitation. Bien souvent caché, le BIOS permet la configuration de bon nombre de paramètres parfois indispensables au bon fonctionnement du PC.
Sommaire
L’apparition du BIOS
Le BIOS est apparu avec le premier PC d’IBM (pour Personnal Computer) : l’IBM PC modèle 5150. Ce premier PC disposait d’une carte graphique CGA (pouvant afficher 16 couleurs, avec une mémoire de 16 ko), un ou deux lecteurs de disquettes au format 5,25 pouces, un processeur IBM 8088 (de fréquence : 4,77 MHz) et 64 ko de mémoire RAM. Il ne disposait pas de disque dur.
Le nom de BIOS ou Basic Input Output System est dérivé du système d’exploitation CP/M de 1975, dans lequel une des parties s’occupait de gérer le matériel (périphériques, lecteur disquette, moniteur). Cette partie se nommait BIOS, pour Basic Input Output System for serial peripheral. Intel a repris ce nom et la fonction de ce logiciel pour l’intégrer à son IBM PC.
A l’origine, le système d’exploitation CP/M était prévu pour fonctionner avec 4 contrôleurs différents (des programmes contrôlant des périphériques spécifiques). Or, à la suite de contrats conclus avec des fabricants de périphériques, il y eu vite un souci pour gérer ces nouveaux périphériques car il aurait fallu ajouter de nouveaux contrôleurs. La solution choisie fut le développement d’une nouvelle partie du système d’exploitation, le BIOS, permettant la gestion du matériel. Ainsi, il était possible d’adapter le BIOS à des nouveaux périphériques.
Le support physique du BIOS
Le BIOS est un logiciel intégré directement sur la carte-mère de l’ordinateur. A l’origine, sur l’IBM-PC, le BIOS était placé dans une mémoire ROM (Read Only Memory ou mémoire morte) sur un réceptacle (ou socket en anglais) directement sur la carte mère.
La mémoire ROM ne pouvait qu’être lue par l’ordinateur, mais pas écrite. De plus, il n’y avait pas d’interface graphique – le SETUP du BIOS – pour modifier la configuration du matériel.
Le SETUP du BIOS |
Cette configuration s’effectuait directement sur la carte mère à l’aide, soit de petits interrupteurs (appelés DIP Switches) ou soit en modifiant des cavaliers (tout petits connecteurs métalliques permettant de le passage de courant entre 2 broches). Il était possible de mettre à jour le BIOS, en remplaçant la mémoire ROM sur laquelle il se situait.
DIP Switch |
Le principal défaut d’une puce électronique ROM, c’est qu’il est impossible de réécrire dessus. Si cela était un gage de sécurité, puisqu’aucune modification ne pouvait corrompre le BIOS, il était assez couteux pour les éditeurs d’effectuer des mise à jours. En effet, il fallait commander les mémoires ROM déjà programmées et le débogage nécessitait de refaire une commande. L’utilisation de mémoires EPROM (mémoires ROM vendues vierges, puis programmées par l’éditeur) puis EEPROM (mémoires ROM effaçables électroniquement) utilisés par le BIOS de nos jours, ont permis de faciliter le processus de mise-à-jour et donc l’application de correctifs et l’utilisation de nouveaux périphériques.
Flash du BIOS
Le processus de mise à jour du BIOS directement par l’utilisateur (à partir de son PC) se nomme “flash du BIOS”. Cette action se déroule le plus souvent à l’aide d’un logiciel fournis par le constructeur de la carte mère, directement à partir du système d’exploitation, ou lors de la phase de POST à l’aide d’un support amovible où est placée la nouvelle version du BIOS. Le flash du BIOS est une action sensible, puisque des incidents peuvent survenir lors de cette mise-à-jour rendant l’ordinateur inutilisable : le BIOS ne pouvant potentiellement plus jouer son rôle de gestion du matériel et démarrer le système d’exploitation. De plus, puisque le BIOS est réinscriptible il peut potentiellement faire l’objet d’attaques par des virus informatiques (même si dans les systèmes d’exploitation récents, l’accès matériel n’est plus direct).
Le virus informatique CIH ou Tchernobyl profitait de l’accès direct au matériel accordé aux programmes pour écrire sur le BIOS, empêchant la phase POST du BIOS, et par conséquent rendant l’utilisation de l’ordinateur impossible. Pour l’histoire, ce virus effectuait son action les 26 avril, date anniversaire de la catastrophe de Tchernobyl.
SETUP du BIOS
La configuration du BIOS à l’aide de DIP-Switches ou de cavaliers n’était pas toujours très pratique, puisqu’il fallait ouvrir l’unité centrale. Les IBM-PC compatibles avec le processeur Intel 80286, ont été les premiers à inclure une interface graphique : c’est le SETUP du BIOS. Cette interface graphique permet de modifier la configuration du matériel, comme par exemple régler la fréquence du CPU, la mémoire de l’adaptateur graphique, l’activation ou la désactivation des composants intégrés à la carte mère ou encore les paramètres du disque dur.
Puisque le BIOS était à l’origine présent sur une mémoire non réinscriptible (mémoire ROM), la configuration du BIOS était à l’origine stockée dans une mémoire appelée CMOS-RAM. Etant donnée qu’une mémoire RAM est volatile par définition, pour éviter de perdre la configuration du BIOS la CMOS-RAM était alimentée par une pile (pile de type bouton CR2032). Cette pile, toujours présent sur les ordinateurs récents sert également à alimenter l’horloge de l’ordinateur. L’utilisation du terme CMOS pour désigner la mémoire sauvegardant la configuration du BIOS a perduré, bien qu’avec l’apparition des mémoires EEPROM pour le BIOS, les données de configuration soient stockées dans l’EEPROM. La pile ne servant plus qu’à alimenter l’horloge de l’ordinateur.
Pile alimentant la CMOS-RAM et l’horloge de l’ordinateur |
Le BIOS sur les ordinateurs récents
L’évolution des ordinateurs a conduit à l’adoption de nouvelles architectures processeurs (32 bits puis 64 bits) ainsi que l’utilisation de nouveaux périphériques. Cependant, le BIOS s’exécute à l’aide d’un mode particulier du processeur, appelé « mode réel » caractérisé par l’adressage possible de seulement 1Mo de mémoire (bus d’adresses de 20 lignes, donc 2^20 emplacements), l’accès directe à toute la mémoire ainsi qu’à l’ensemble des périphériques. Si l’utilisation de ce mode n’était pas un problème pour les vieux ordinateurs (où 1Mo de mémoire n’était pas limitant), il est devenu plus problématique pour l’utilisation de plus de mémoire. Avec le processeur Intel 80286, disposant d’un bus d’adresse de 24 lignes et pouvant donc adresser 16 Mo de mémoire est apparue le « mode protégé » pouvant tirer parti de cette mémoire, aussi appelé mémoire étendue (nom de la mémoire au-dessus du 1Mo). Cependant, afin d’assurer une compatibilité totale pour les programmes, le mode réel subsiste, même sur des ordinateurs récents.
Les systèmes d’exploitation (dès Windows 3.1, 1992, pour les systèmes d’exploitation de Microsoft) utilisant le mode protégé ne pouvant pas utiliser le mode réel qui est utilisé par le BIOS : ces systèmes d’exploitations ne gèrent pas le matériel via l’utilisation du BIOS, mais par l’utilisation native de pilotes de périphériques (programmes développés par les constructeurs pour assurer la communication périphériques-systèmes d’exploitation. Drivers en anglais). Cependant, le BIOS est toujours utilisé même après le chargement du système d’exploitation, notamment pour la gestion de l’énergie (arrêt de l’ordinateur, mise en veille, mise en veille prolongée, valeur de la luminosité de l’écran, contrôle de la batterie) et de la fréquence du processeur. Pour certains ordinateurs récents, des informations de licence peuvent être contenu dans une portion du BIOS appelé table SLIC, ou juste SLIC.
Bien que le BIOS ne soit pas accessible à partir d’un système d’exploitation s’exécutant en mode protégé, il transmet la liste des périphériques et les paramètres au système d’exploitation lors de son démarrage, et avant le passage en mode protégé.
Depuis 2011, l’UEFI est définit comme étant le successeur du traditionnelle SETUP du BIOS. L’avantage de l’UEFI est de permettre l’utilisation d’une interface plus agréable, à l’aide de la souris et l’utilisation du réseau, avant le démarrage du système d’exploitation et d’effectuer un démarrage plus rapide
Sources
BIOS Basics (par Bob Hurt), http://www.bioscentral.com/misc/biosbasics.htm#
An Introduction to the PC's (Personal Computer's) BIOS (Basic I/O System) (par Daniel Sedory) http://thestarman.pcministry.com/asm/bios/
How BIOS Works (par Jeff Tyson), http://www.howstuffworks.com/bios1.htm
When does Windows/bootmgr stop using BIOS INTterrupts? (discussion initiée par RulerOf), http://reboot.pro/topic/13534-when-does-windowsbootmgr-stop-using-bios-intterrupts/
Crédit images
Le système d’exploitation CP/M, Article Wikipédia sur CP/M : http://upload.wikimedia.org/wikipedia/en/2/26/CPM-86.png
Photo de la ROM d’un BIOS conçu par AMIBIOS, Pengertian BIOS (Basic Input Output System) Terlengkap , http://toskomputer.blogspot.fr/2013/09/pengertian-bios-basic-input-output.html
Le SETUP du BIOS, The BIOS Setup Program, http://www.cci-compeng.com/Unit_5_PC_Architecture/5407_BIOS_Setup.htm
DIP Switch, Article Wikipédia sur DIP Switch, http://en.wikipedia.org/wiki/DIP_switch
Pile alimentant la CMOS-RAM et l’horloge de l’ordinateur, Pile CMOS et heure, http://www.webchercheurs.com/53/2815-fr-pile-du-cmos-et-heure-ordinateur.html