Apple

BIOS – Wikipedia

Par Maximus63 , le 24 mai 2019 - 55 minutes de lecture

Une paire de puces BIOS AMD pour un ordinateur Dell 310 de la fin des années 1980

BIOS ( PAR-oss; un acronyme pour Système d'entrée / sortie de base et aussi connu sous le nom BIOS du système, BIOS ROM ou BIOS du PC) est un micrologiciel non volatile utilisé pour effectuer l'initialisation du matériel au cours du processus de démarrage (démarrage au démarrage) et pour fournir des services d'exécution aux systèmes d'exploitation et aux programmes.[1] Le micrologiciel du BIOS est livré préinstallé sur la carte mère d'un ordinateur personnel. Il s'agit du premier logiciel à s'exécuter lorsqu'il est allumé. Le nom provient du système d'entrée / sortie de base utilisé dans le système d'exploitation CP / M en 1975.[2][3] Le BIOS, à l’origine propriétaire du PC IBM, a été mis au point par des sociétés qui cherchaient à créer des systèmes compatibles. L’interface de ce système original sert de de facto la norme.

Le BIOS des PC modernes initialise et teste les composants matériels du système, puis charge un chargeur de démarrage à partir d'un périphérique de mémoire de masse qui initialise ensuite un système d'exploitation. À l'ère du DOS, le BIOS fournissait une couche d'abstraction matérielle pour le clavier, l'écran et d'autres périphériques d'entrée / sortie (E / S) qui normalisait une interface avec les programmes d'application et le système d'exploitation. Les systèmes d'exploitation plus récents n'utilisent pas le BIOS après le chargement, mais accèdent directement aux composants matériels.

La plupart des implémentations du BIOS sont spécifiquement conçues pour fonctionner avec un ordinateur particulier ou un modèle de carte mère, en interfaçant avec différents périphériques qui constituent le jeu de puces système complémentaire. À l'origine, le micrologiciel du BIOS était stocké dans une puce ROM de la carte mère du PC. Dans les systèmes informatiques modernes, le contenu du BIOS est stocké dans une mémoire flash, ce qui permet de le réécrire sans retirer la puce de la carte mère. Cela permet aux utilisateurs finaux de mettre facilement à jour le micrologiciel du BIOS, ce qui permet d’ajouter de nouvelles fonctionnalités ou de corriger les bogues, mais offre également la possibilité à l’ordinateur d’être infecté par des rootkits BIOS. De plus, une mise à niveau du BIOS qui échoue peut constituer une brique permanente pour la carte mère, à moins que le système ne prévoie une forme de sauvegarde pour ce cas.

L’interface UEFI (Unified Extensible Firmware Interface) succède à l’ancien BIOS PC, dans le but de remédier à ses faiblesses techniques.[4]

L'histoire[[[[modifier]

Le terme BIOS (système d'entrée / sortie de base) a été créé par Gary Kildall.[5][6] et est apparu pour la première fois dans le système d’exploitation CP / M en 1975,[2][3][7][8][9][6] décrivant la partie spécifique de la machine de CP / M chargée au moment du démarrage et assurant une interface directe avec le matériel.[3] (Une machine CP / M n'a généralement qu'un simple chargeur de démarrage dans sa ROM.)

Les versions de MS-DOS, PC DOS ou DR-DOS contiennent un fichier appelé "IO.SYS", "IBMBIO.COM", "IBMBIO.SYS" ou "DRBIOS.SYS"; Ce fichier est appelé "BIOS DOS" (également appelé "Système d'E / S DOS") et contient la partie du système d'exploitation spécifique au matériel de niveau inférieur. Avec le "BIOS système" sous-jacent spécifique au matériel, mais indépendant du système d'exploitation, il représente l'analogue du "BIOS CP / M".

Avec l’introduction de machines PS / 2, IBM a divisé le BIOS système en plusieurs parties, en mode réel et en mode protégé. La partie en mode réel était censée offrir une compatibilité ascendante avec les systèmes d'exploitation existants tels que DOS et s'appelait donc "CBIOS" (pour "Compatibility BIOS"), tandis que "ABIOS" (pour "Advanced BIOS") fournissait spécifiquement de nouvelles interfaces. adapté aux systèmes d'exploitation multitâches tels que OS / 2.

Interface utilisateur[[[[modifier]

Le BIOS des ordinateurs IBM PC et XT d’origine n’avait pas d’interface utilisateur interactive. Des codes d'erreur ou des messages étaient affichés à l'écran ou une série de sons codés étaient générés pour signaler des erreurs lorsque l'autotest à la mise sous tension (POST) n'était pas sur le point d'initialiser correctement une carte graphique. Les options sur les ordinateurs IBM PC et XT ont été définies par des commutateurs et des cavaliers sur la carte mère et sur les cartes d'extension. À partir du milieu des années 90, il est devenu typique que la ROM du BIOS inclue un "Utilitaire de configuration du BIOS" (BCU[10]) ou "utilitaire de configuration du BIOS", accessible au démarrage du système par une séquence de touches particulière. Ce programme permettait à l'utilisateur de définir les options de configuration du système, du type précédemment défini à l'aide de commutateurs DIP, via un système de menus interactif contrôlé par le clavier. Dans l'intervalle, les ordinateurs compatibles IBM‍ — notamment IBM AT‍ — sont configurés dans une RAM sauvegardée sur batterie et utilisent un programme de configuration amorçable sur disque, et non dans la ROM, pour définir les options de configuration contenues dans cette mémoire. Le disque a été fourni avec l'ordinateur et, en cas de perte, les paramètres système ne pourraient pas être modifiés. La même chose s’appliquait en général aux ordinateurs dotés d’un bus EISA, pour lequel le programme de configuration était appelé un utilitaire de configuration EISA (ECU).

Un ordinateur moderne compatible Wintel fournit une routine d’installation essentiellement inchangée par rapport aux utilitaires de configuration du BIOS résidant dans la ROM de la fin des années 90; l'utilisateur peut configurer les options matérielles à l'aide du clavier et de l'affichage vidéo. De plus, lorsque des erreurs se produisent au démarrage, un BIOS moderne affiche généralement des messages d'erreur conviviaux, souvent présentés sous forme de fenêtres contextuelles dans un style TUI, et propose d'entrer dans l'utilitaire de configuration du BIOS ou d'ignorer l'erreur et de continuer si possible. Au lieu d'une RAM sauvegardée sur batterie, la machine Wintel moderne peut stocker les paramètres de configuration du BIOS dans une ROM flash, peut-être même la mémoire ROM qui contient le BIOS lui-même.

Opération[[[[modifier]

Démarrage du système[[[[modifier]

Les premiers processeurs Intel ont démarré à l'adresse physique 000FFFF0h. Les systèmes dotés de processeurs ultérieurs fournissent une logique pour commencer à exécuter le BIOS à partir de la ROM système.
[11]

Si le système vient d'être mis sous tension ou si le bouton de réinitialisation a été enfoncé ("démarrage à froid"), l'autotest à la mise sous tension complète (POST) est exécuté. Si vous appuyez sur Ctrl + Alt + Suppr ("démarrage à chaud"), une valeur d'indicateur spécial stockée dans la mémoire BIOS non volatile ("CMOS") testée par le BIOS permet de contourner le long test POST et la détection de mémoire.

Le POST identifie et initialise les périphériques du système tels que le processeur, la RAM, les contrôleurs d'interruption et DMA et d'autres composants du jeu de puces, la carte vidéo, le clavier, le lecteur de disque dur, le lecteur de disque optique et tout autre matériel de base.

Les anciens PC IBM avaient une routine dans le POST qui téléchargeait un programme dans la RAM via le port du clavier et l'exécutait. [12][13] Cette fonctionnalité était destinée à des tests en usine ou à des fins de diagnostic.

Processus de démarrage[[[[modifier]

Une fois que l'analyse de la ROM en option est terminée et que tous les modules de la ROM détectés avec des sommes de contrôle valides ont été appelés, ou immédiatement après le POST dans une version de BIOS ne recherchant pas de ROM en option, le BIOS appelle INT 19h pour démarrer le traitement de démarrage. Après le démarrage, les programmes chargés peuvent également appeler INT 19h pour redémarrer le système, mais ils doivent également veiller à désactiver les interruptions et autres processus matériels asynchrones susceptibles d'interférer avec le processus de réinitialisation du BIOS. Sinon, le système peut se bloquer ou se bloquer pendant le redémarrage. .

Lorsque vous appelez INT 19h, le BIOS tente de localiser le logiciel d'amorçage sur un "périphérique d'amorçage", tel qu'un disque dur, une disquette, un CD ou un DVD. Il charge et exécute le premier logiciel de démarrage trouvé, lui donnant ainsi le contrôle du PC.[14]

Le BIOS utilise les périphériques de démarrage définis dans EEPROM, CMOS RAM ou, dans les premiers PC, les commutateurs DIP. Le BIOS vérifie chaque périphérique afin de voir s'il est amorçable en essayant de charger le premier secteur (secteur d'amorçage). Si le secteur ne peut pas être lu, le BIOS passe au périphérique suivant. Si le secteur est lu avec succès, certains BIOS vérifieront également la signature du secteur d’amorçage 0x55 0xAA dans les deux derniers octets du secteur (512 octets), avant d’accepter un secteur d’amorçage et de considérer le périphérique comme amorçable.[nb 1]

Lorsqu'un périphérique amorçable est trouvé, le BIOS transfère le contrôle au secteur chargé. Le BIOS n'interprète pas le contenu du secteur de démarrage autrement que pour vérifier éventuellement la signature du secteur de démarrage dans les deux derniers octets. L'interprétation des structures de données telles que les tables de partition et les blocs de paramètres BIOS est effectuée par le programme d'amorçage situé dans le secteur d'amorçage lui-même ou par d'autres programmes chargés via le processus d'amorçage.

Un périphérique non-disque tel qu'une carte réseau tente de démarrer à l'aide d'une procédure définie par sa ROM optionnelle ou son équivalent intégré dans la ROM ROM de la carte mère. En tant que telles, les ROM d’options peuvent également influencer ou supplanter le processus de démarrage défini par la ROM du BIOS de la carte mère.

Priorité de démarrage[[[[modifier]

L'utilisateur peut sélectionner la priorité de démarrage implémentée par le BIOS. Par exemple, la plupart des ordinateurs ont un disque dur amorçable, mais il existe généralement un lecteur de support amovible qui a une priorité d'amorçage plus élevée, de sorte que l'utilisateur peut provoquer l'amorçage d'un disque amovible.

Dans la plupart des BIOS modernes, l’ordre de priorité de démarrage peut être configuré par l’utilisateur. Dans les BIOS plus anciens, les options de priorité de démarrage limitées sont sélectionnables; Dans les premiers BIOS, un schéma de priorité fixe était mis en œuvre, avec les lecteurs de disquettes en premier, les disques fixes (disques durs) en second, et généralement aucun autre périphérique d’amorçage pris en charge, sous réserve de la modification de ces règles par les ROM d’options installées. Le BIOS d'un ancien PC ne démarre généralement que depuis le premier lecteur de disquette ou le premier lecteur de disque dur, même si deux lecteurs sont installés.

Avec la norme de démarrage du support optique El Torito, le lecteur optique émule une disquette haute densité de 3,5 "vers le BIOS à des fins de démarrage. La lecture du" premier secteur "d'un CD-ROM ou d'un DVD-ROM n'est pas une opération simplement définie. comme sur une disquette ou un disque dur. De plus, la complexité du support rend difficile l’écriture d’un programme de démarrage utile dans un secteur donné. La disquette virtuelle amorçable peut contenir un logiciel donnant accès au support optique en natif. format.

Échec de démarrage[[[[modifier]

Sous IBM PC et XT d'origine, si aucun disque amorçable n'a été trouvé, ROM BASIC a été démarré en appelant INT 18h. Étant donné que peu de programmes utilisaient BASIC en ROM, les fabricants de PC clones l'ont laissé de côté. alors, un ordinateur qui ne pourrait pas démarrer à partir d'un disque afficherait "No ROM BASIC" et s'arrêterait (en réponse à INT 18h).

Les ordinateurs ultérieurs afficheraient un message du type "Aucun disque amorçable trouvé"; certains demandent à insérer un disque et à appuyer sur une touche pour relancer le processus de démarrage. Un BIOS moderne peut ne rien afficher ou entrer automatiquement dans l'utilitaire de configuration du BIOS lorsque le processus de démarrage échoue.

Environnement de démarrage[[[[modifier]

L’environnement du programme de démarrage est très simple: la CPU est en mode réel et les registres généraux et de segments ne sont pas définis, à l’exception de CS, SS, SP et DL. CS est toujours zéro et IP est initialement 0x7C00. Comme les programmes d’amorçage sont toujours chargés à cette adresse fixe, il n’est pas nécessaire qu’un programme d’amorçage soit déplaçable. DL peut contenir le numéro de lecteur, utilisé avec INT 13h, du périphérique d'amorçage. SS: SP pointe sur une pile valide qui est probablement suffisamment grande pour prendre en charge les interruptions matérielles, mais sinon, SS et SP ne sont pas définis. (Une pile doit être déjà configurée pour que les interruptions soient traitées et les interruptions doivent être activées pour que l'interruption du minuteur du système, que le BIOS utilise toujours au moins pour gérer le décompte de l'heure et qu'il initialise. Le clavier fonctionne même si le service de clavier du BIOS n’est pas appelé, les frappes au clavier sont reçues et placées dans la mémoire tampon de frappe anticipée de 15 caractères gérée par le BIOS.) Le programme d’amorçage doit définir sa propre pile, car la taille de la pile configurée par le BIOS est inconnue et son emplacement est également variable; bien que le programme de démarrage puisse examiner la pile par défaut en examinant SS: SP, il est plus facile et plus court de simplement configurer inconditionnellement une nouvelle pile.

Au démarrage, tous les services du BIOS sont disponibles et la mémoire en dessous de l'adresse 0x00400 contient la table de vecteur d'interruption. Le BIOS POST a initialisé les temporisateurs système, le (s) contrôleur (s) d'interruption, le (s) contrôleur (s) DMA et tout autre matériel de carte mère / de jeu de puces afin de rendre tous les services du BIOS prêts à l'emploi. L'actualisation de la DRAM pour toutes les DRAM système en mémoire conventionnelle et étendue, mais pas nécessairement étendue, a été configurée et est en cours d'exécution. Les vecteurs d’interruption correspondant aux interruptions du BIOS ont été définis de manière à pointer vers les points d’entrée appropriés dans le BIOS, les vecteurs d’interruptions matérielles des périphériques initialisés par le BIOS ont été définis de manière à pointer vers les ISR fournis par le BIOS, et quelques autres interruptions, notamment que le BIOS génère pour les programmes à accrocher, ont été définis sur un ISR factice par défaut qui est renvoyé immédiatement. Le BIOS maintient un bloc réservé de RAM système aux adresses 0x00400–0x004FF avec divers paramètres initialisés pendant le POST. Toute la mémoire à et au-dessus de l'adresse 0x00500 peut être utilisé par le programme de démarrage; il peut même s’écraser.

Extensions (options ROM)[[[[modifier]

Les cartes périphériques, telles que certains contrôleurs de disque dur et certaines cartes graphiques, possèdent leur propre ROM optionnelle d'extension du BIOS, qui fournit des fonctionnalités supplémentaires au BIOS. Le code de ces extensions est exécuté avant que le BIOS ne démarre le système à partir du stockage de masse. Généralement, ces ROM testent et initialisent le matériel, ajoutent de nouveaux services BIOS et complètent ou remplacent les services BIOS existants par leurs propres versions. Par exemple, un contrôleur SCSI possède généralement une ROM d’extension BIOS qui ajoute la prise en charge des disques durs connectés via ce contrôleur. Certaines cartes vidéo possèdent des ROM d'extension qui remplacent les services vidéo du BIOS de la carte mère par leurs propres services vidéo. Les ROM d’extension du BIOS acquièrent le contrôle total de la machine. Elles peuvent donc tout faire et ne peuvent jamais rendre le contrôle au BIOS qui les a appelées. Une ROM d’extension peut en principe contenir l’ensemble du système d’exploitation ou un programme d’application, ou implémenter un processus de démarrage totalement différent, tel que le démarrage à partir d’un réseau. Le fonctionnement d'un système informatique compatible IBM peut être complètement modifié en retirant ou en insérant une carte adaptateur (ou une puce ROM) contenant une ROM d'extension du BIOS.

Le BIOS de la carte mère contient généralement du code permettant d’accéder aux composants matériels nécessaires à l’amorçage du système, tels que le clavier, l’affichage et le stockage. De plus, les cartes adaptatrices plug-in telles que SCSI, RAID, cartes d'interface réseau et cartes vidéo incluent souvent leur propre BIOS (par exemple, BIOS vidéo), complétant ou remplaçant le code BIOS du système du composant donné. Même les périphériques intégrés à la carte mère peuvent se comporter de la sorte. leurs ROM d’options peuvent être stockées sous forme de code séparé sur la puce flash du BIOS principal et mises à niveau soit conjointement avec, soit séparément du BIOS principal.

Une carte d'extension nécessite une ROM optionnelle si la carte n'est pas prise en charge par le BIOS principal et que la carte doit être initialisée ou rendue accessible via les services du BIOS avant que le système d'exploitation puisse être chargé (cela signifie généralement qu'elle est requise dans le processus de démarrage ). Même si cela n’est pas nécessaire, une ROM en option peut autoriser l’utilisation d’une carte sans chargement du logiciel du pilote à partir du périphérique de stockage une fois le démarrage démarré – avec une ROM en option, le chargement ne prend pas de temps, le pilote ne prend pas. ni dans la RAM ni sur le disque dur, et le logiciel du pilote sur la ROM reste toujours avec le périphérique afin que les deux ne puissent pas être séparés par inadvertance. De plus, si la ROM est sur la carte, le matériel périphérique et le logiciel de pilote fourni par la ROM sont installés ensemble sans aucun effort supplémentaire pour installer le logiciel. Un avantage supplémentaire de la ROM sur certains anciens systèmes PC (notamment IBM PCjr) était que la ROM était plus rapide que la mémoire vive du système principal. (Sur les systèmes modernes, le cas est très inverse, et le code de la ROM du BIOS est généralement copié ("ombré") dans la RAM, de sorte qu'il s'exécute plus rapidement.)

Il existe de nombreuses méthodes et utilitaires pour examiner le contenu de divers BIOS de la carte mère et de plusieurs ROM d'extension, tels que Microsoft DEBUG ou le dd Unix.

Procédure de démarrage[[[[modifier]

Si une ROM d’extension souhaite modifier le mode de démarrage du système (par exemple, à partir d’un périphérique réseau ou d’un adaptateur SCSI pour lequel le BIOS ne possède pas de code de pilote), elle peut utiliser le Spécification d'amorçage du BIOS (BBS) API pour enregistrer sa capacité à le faire. Une fois les ROM d’extension enregistrées à l’aide des API BBS, l’utilisateur peut choisir parmi les options de démarrage disponibles dans l’interface utilisateur du BIOS. C'est pourquoi la plupart des implémentations BIOS PC compatibles BBS n'autorisent pas l'utilisateur à entrer dans l'interface utilisateur du BIOS tant que les ROM d'extension n'ont pas fini de s'exécuter et de s'enregistrer auprès de l'API BBS.[[[[citation requise] La spécification peut être téléchargée à partir du site Web ACPICA. Le titre officiel est BIOS Boot Specification (Version 1.01, 11 janvier 1996).[15]

De plus, si une ROM d’extension souhaite modifier la façon dont le système démarre de manière unilatérale, elle peut simplement accrocher l’INT 19h ou les autres interruptions normalement appelées à partir de l’interruption 19h, telles que INT 13h, le service de disque du BIOS, pour intercepter le processus d’amorçage du BIOS. Ensuite, il peut remplacer le processus de démarrage du BIOS par l'un des siens ou simplement modifier la séquence de démarrage en y insérant ses propres actions de démarrage, en empêchant le BIOS de détecter certains périphériques comme amorçables, ou les deux. Avant la promulgation de la spécification d’amorçage du BIOS, c’était le seul moyen, pour les ROM d’extension, d’implémenter la fonctionnalité d’amorçage pour les périphériques non pris en charge par le BIOS natif de la carte mère.[[[[citation requise]

Initialisation[[[[modifier]

Une fois que le BIOS de la carte mère a terminé son POST, la plupart des versions du BIOS recherchent des modules de ROM optionnels, également appelés ROM d’extension du BIOS, et les exécutent. Le BIOS de la carte mère recherche les ROM d’extension dans une partie de la «zone de mémoire supérieure» (la partie de l’espace adresse en mode réel x86 à l’adresse 0xA0000 et au-dessus) et exécute chaque ROM trouvée, dans l’ordre. Pour découvrir les ROM d’option ISA mappées en mémoire, une implémentation du BIOS analyse l’espace adresse en mode réel de 0x0C0000 à 0x0F0000 sur 2 frontières KiB, à la recherche d'une ROM de deux octets Signature: 0x55 suivi de 0xAA. Dans une ROM d'extension valide, cette signature est suivie d'un seul octet indiquant le nombre de blocs de 512 octets occupés par la ROM d'extension dans la mémoire réelle. L'octet suivant est le point d'entrée de la ROM d'option (également appelé "décalage d'entrée"). . Une somme de contrôle du nombre spécifié de blocs de 512 octets est calculée et si la ROM a une somme de contrôle valide, le BIOS transfère le contrôle à l'adresse d'entrée, qui dans une ROM d'extension de BIOS normale doit être le début de la routine d'initialisation de l'extension.

À ce stade, le code de la ROM d’extension prend le relais, généralement en testant et en initialisant le matériel qu’il contrôle et en enregistrant les vecteurs d’interruption à utiliser par les applications de post-démarrage. Il peut utiliser les services du BIOS (y compris ceux fournis par des ROM optionnelles précédemment initialisées) pour fournir une interface de configuration utilisateur, afficher des informations de diagnostic ou effectuer toute autre opération requise. Il est possible qu'une ROM en option ne revienne pas dans le BIOS, préemptant totalement la séquence de démarrage du BIOS.

Une ROM d’option devrait normalement retourner au BIOS à la fin de son processus d’initialisation. Une fois (et si) une ROM d’option renvoyée, le BIOS continue de rechercher plus de ROM d’option, en appelant chacune d’elles comme il a été trouvé, jusqu’à ce que toute la zone de la ROM d’option de l’espace mémoire ait été analysée.

Placement physique[[[[modifier]

Les ROM d’options résident normalement sur des cartes d’adaptateur. Cependant, le PC d'origine, et peut-être aussi le PC XT, disposent d'un support de mémoire ROM de réserve sur la carte mère (la "carte système" selon IBM) dans lequel une ROM optionnelle peut être insérée, et les quatre ROM contenant l'interpréteur BASIC peuvent également être supprimés et remplacés par des ROM personnalisées pouvant être des ROM en option. IBM PCjr est unique parmi les PC car il possède deux logements de cartouche ROM à l'avant. Les cartouches de ces emplacements correspondent à la même région de la zone de mémoire supérieure utilisée pour les ROM en option, et les cartouches peuvent contenir des modules de ROM en option que le BIOS reconnaîtrait. Les cartouches peuvent également contenir d'autres types de modules ROM, tels que les programmes BASIC, qui sont gérés différemment. Une cartouche PCjr peut contenir plusieurs modules ROM de types différents, éventuellement stockés ensemble dans une puce ROM.

Services du système d'exploitation[[[[modifier]

La ROM du BIOS est personnalisée en fonction du matériel du fabricant, ce qui permet aux services de bas niveau (tels que la lecture d'une frappe au clavier ou l'écriture d'un secteur de données sur une disquette) d'être fournis de manière standard aux programmes, y compris aux systèmes d'exploitation. Par exemple, un PC IBM peut avoir une carte graphique monochrome ou couleur (utilisant des adresses mémoire et un matériel d'affichage différents), mais un seul appel système BIOS standard peut être appelé pour afficher un caractère à une position spécifiée à l'écran. mode texte ou mode graphique.

Le BIOS fournit une petite bibliothèque de fonctions d’entrée / sortie de base pour le fonctionnement de périphériques (telles que les fonctions de clavier, d’affichage textuel et graphique rudimentaire, etc.). Lors de l'utilisation de MS-DOS, un programme d'application (ou MS-DOS) pouvait accéder aux services du BIOS en exécutant une instruction d'interruption INT 13h pour accéder aux fonctions du disque ou en exécutant l'un des nombreux appels d'interruption du BIOS documentés pour accéder à la vidéo. affichage, clavier, cassette et autres fonctions de l’appareil.

Les systèmes d'exploitation et les logiciels exécutifs conçus pour remplacer cette fonctionnalité de microprogramme de base fournissent des interfaces logicielles de remplacement pour les logiciels d'application. Les applications peuvent également fournir ces services à elles-mêmes. Cela a commencé même dans les années 1980 sous MS-DOS, lorsque les programmeurs ont constaté que l'utilisation des services vidéo du BIOS pour l'affichage graphique était très lente. Pour augmenter la vitesse de sortie de l'écran, de nombreux programmes ont contourné le BIOS et programmé directement le matériel d'affichage vidéo. D'autres programmeurs graphiques, particulièrement mais non exclusivement dans la demoscene, ont observé que les adaptateurs graphiques de PC possédaient des capacités techniques qui n'étaient pas prises en charge par le BIOS IBM et qui ne pouvaient pas être exploitées sans le contourner. Étant donné que le BIOS compatible AT fonctionnait en mode réel Intel, les systèmes d'exploitation fonctionnant en mode protégé sur les processeurs 286 et ultérieurs nécessitaient des pilotes de périphérique compatibles avec le fonctionnement en mode protégé pour remplacer les services du BIOS.

Sur les ordinateurs personnels modernes exécutant des systèmes d'exploitation modernes, le BIOS n'est utilisé que lors du démarrage et du chargement initial du logiciel système. Avant que le premier écran graphique du système d'exploitation ne soit affiché, les entrées et les sorties sont généralement gérées via le BIOS. Un menu de démarrage tel que le menu textuel de Windows, qui permet aux utilisateurs de choisir un système d'exploitation pour démarrer, pour démarrer en mode sans échec ou pour utiliser la dernière configuration correcte connue, est affiché via le BIOS et reçoit une entrée au clavier via le BIOS.[[[[citation requise]

La plupart des ordinateurs modernes peuvent toujours démarrer et exécuter des systèmes d’exploitation hérités tels que MS-DOS ou DR-DOS qui reposent fortement sur le BIOS pour leur console et leur E / S disque, à condition que le système dispose d’un microprogramme BIOS ou compatible, qui ne soit pas compatible. forcément le cas avec les PC basés sur UEFI.

Mises à jour du microcode du processeur[[[[modifier]

Les processeurs Intel ont un microcode reprogrammable depuis la microarchitecture P6.[16][17] Le BIOS peut contenir des correctifs au microcode du processeur qui corrigent des erreurs dans le microcode du processeur initial; la reprogrammation n’est pas persistante, le chargement des mises à jour du microcode est donc effectué chaque fois que le système est mis sous tension. Sans microcode reprogrammable, un échange de processeur coûteux serait nécessaire;[18] Par exemple, le bogue Pentium FDIV est devenu un fiasco coûteux pour Intel car il a nécessité un rappel de produit car le microcode défectueux du processeur Pentium d'origine ne pouvait pas être reprogrammé.

Identification[[[[modifier]

Certains BIOS contiennent un tableau de description des licences logicielles (SLIC), une signature numérique placée dans le BIOS par le fabricant de l'équipement d'origine (OEM), par exemple Dell. Le SLIC est inséré dans la table ACPI et ne contient aucun code actif.[19][20]

Les fabricants d’ordinateurs qui distribuent les versions OEM de Microsoft Windows et du logiciel d’application Microsoft peuvent utiliser le SLIC pour authentifier les licences du disque d’installation OEM Windows et du disque de récupération du système contenant le logiciel Windows. Les systèmes dotés d'un SLIC peuvent être préactivés avec une clé de produit OEM. Ils vérifient un certificat OEM au format XML par rapport au SLIC du BIOS afin de s'activer automatiquement (voir Pré-installation verrouillée du système, SLP). Si un utilisateur effectue une nouvelle installation de Windows, il devra posséder à la fois la clé OEM (SLP ou COA) et le certificat numérique de son SLIC afin de contourner l'activation.[19] Cela peut être réalisé si l'utilisateur effectue une restauration à l'aide d'une image pré-personnalisée fournie par le fabricant OEM. Les utilisateurs privilégiés peuvent copier les fichiers de certificat nécessaires à partir de l'image OEM, décoder la clé de produit SLP, puis effectuer manuellement l'activation de SLP. Les fissures pour les distributions Windows non authentiques modifient généralement le SLIC ou l'émulent afin de contourner l'activation de Windows.[[[[citation requise]

Overclocking[[[[modifier]

Certaines implémentations du BIOS autorisent l'overclocking, une action dans laquelle le processeur est réglé sur une fréquence d'horloge supérieure à celle définie par le fabricant pour une capacité garantie. L'overclocking peut toutefois sérieusement compromettre la fiabilité du système sur des ordinateurs insuffisamment refroidis et raccourcir généralement la durée de vie des composants. L’overclocking, lorsqu’il est mal effectué, peut également entraîner une surchauffe trop rapide des composants, qui risquent de se détruire eux-mêmes.[21]

Utilisation moderne[[[[modifier]

Certains systèmes d'exploitation, par exemple MS-DOS, reposent sur le BIOS pour effectuer la plupart des tâches d'entrée / sortie au sein du PC.[22]

Étant donné que le BIOS fonctionne toujours en mode réel 16 bits, l'appel direct des services du BIOS est inefficace pour les systèmes d'exploitation en mode protégé. Les services BIOS n’étant plus utilisés par les systèmes d’exploitation multitâches modernes après leur chargement initial, l’importance de la partie principale du BIOS est donc considérablement réduite.

Les mises en œuvre ultérieures du BIOS ont pris en charge des fonctions plus complexes, en incluant des interfaces telles que la configuration avancée et l'interface d'alimentation (ACPI); ces fonctions incluent la gestion de l'alimentation, le remplacement à chaud et la gestion thermique. Dans le même temps, depuis 2010, la technologie du BIOS est en cours de transition vers le protocole UEFI.[4]

Configuration[[[[modifier]

Utilitaire de configuration[[[[modifier]

Historiquement, le BIOS des ordinateurs IBM PC et XT n’avait aucune interface utilisateur intégrée. Les versions de BIOS des PC antérieurs (classe XT) n'étaient pas configurables par logiciel; à la place, les utilisateurs définissent les options via les commutateurs DIP de la carte mère. Les ordinateurs ultérieurs, y compris tous les ordinateurs compatibles IBM avec les processeurs 80286, disposaient d'une mémoire BIOS non volatile sauvegardée par batterie (puce CMOS RAM) contenant les paramètres du BIOS.[23] Ces paramètres, tels que le type d'adaptateur vidéo, la taille de la mémoire et les paramètres du disque dur, ne peuvent être configurés qu'en exécutant un programme de configuration à partir d'un disque, non intégré à la ROM. Une "disquette de référence" spéciale a été insérée dans un AT IBM pour configurer des paramètres tels que la taille de la mémoire.

Les versions précédentes du BIOS ne comportaient pas de mots de passe ni d'options de sélection de périphérique d'amorçage. Le BIOS était codé en dur pour démarrer à partir du premier lecteur de disquette ou, en cas d'échec, du premier disque dur. Le contrôle d'accès dans les premières machines de la classe AT était assuré par un commutateur de verrouillage physique (qui n'était pas difficile à vaincre si le boîtier de l'ordinateur pouvait être ouvert). Quiconque pourrait allumer l'ordinateur pourrait le démarrer.[[[[citation requise]

Plus tard, des ordinateurs de classe 386 ont commencé à intégrer l'utilitaire de configuration du BIOS dans la ROM elle-même, parallèlement au code du BIOS; Ces ordinateurs démarrent généralement dans l'utilitaire de configuration du BIOS si une certaine touche ou combinaison de touches est enfoncée. Dans le cas contraire, le processus POST et de démarrage du BIOS est exécuté.

Utilitaire de configuration du BIOS Award sur un PC standard

Un utilitaire de configuration du BIOS moderne comporte une interface utilisateur à base de menus, accessible en appuyant sur une certaine touche du clavier au démarrage du PC. Habituellement, la clé est annoncée pendant un court laps de temps lors du démarrage initial, par exemple "Appuyez sur F1 pour accéder à la configuration CMOS". La clé dépend du matériel spécifique. Les fonctionnalités présentes dans l'utilitaire de configuration du BIOS incluent généralement:

  • Configuration des composants matériels, y compris le paramétrage de leurs différents modes de fonctionnement et de leurs fréquences (par exemple, sélection du mode de visualisation des contrôleurs de stockage par le système d'exploitation ou de l'overclocking du processeur)
  • Réglage de l'horloge système
  • Activation ou désactivation des composants du système
  • Sélection des périphériques qui sont des périphériques de démarrage potentiels et dans quel ordre ils seront essayés.
  • La définition de divers mots de passe, tels qu'un mot de passe pour sécuriser l'accès à l'interface utilisateur du BIOS, empêche les utilisateurs malveillants de démarrer le système à partir de périphériques de stockage portables non autorisés, un mot de passe pour démarrer le système ou un mot de passe d'accès au disque dur qui en limite l'accès. et reste assigné même si le disque dur est déplacé vers un autre ordinateur

Surveillance du matériel[[[[modifier]

Un écran de configuration du BIOS moderne comporte souvent un l'état de santé de PC ou un Surveillance du matériel tab, which directly interfaces with a Hardware Monitor chip of the mainboard.[24] This makes it possible to monitor CPU and chassis temperature, the voltage provided by the power supply unit, as well as monitor and control the speed of the fans connected to the motherboard.

Once the system is booted, hardware monitoring and computer fan control is normally done directly by the Hardware Monitor chip itself, which can be a separate chip, interfaced through I²C or SMBus, or come as a part of a Super I/O solution, interfaced through Low Pin Count (LPC).[25] Some operating systems, like NetBSD with envsys and OpenBSD with sysctl hw.sensors, feature integrated interfacing with hardware monitors, which is normally done without any interaction with the BIOS.

However, in certain circumstances, the BIOS vendor also provides the underlying information about hardware monitoring through ACPI, in which case, the operating system may be using ACPI to perform hardware monitoring; this is done, for example, on some ASUSTeK motherboards with the AI Booster feature.[26]

Reprogramming[[[[modifier]

BIOS replacement kit for a Dell 310 from the late 1980s. Included are two chips, a plastic holder for the chips, and a chip puller.

In modern PCs the BIOS is stored in rewritable memory, allowing the contents to be replaced and modified. This rewriting of the contents is sometimes termed clignotant, based on the common use of a kind of EEPROM known technically as "flash EEPROM" and colloquially as "flash memory". It can be done by a special program, usually provided by the system's manufacturer, or at POST, with a BIOS image in a hard drive or USB flash drive. A file containing such contents is sometimes termed "a BIOS image". A BIOS might be reflashed in order to upgrade to a newer version to fix bugs or provide improved performance or to support newer hardware, or a reflashing operation might be needed to fix a damaged BIOS

Matériel[[[[modifier]

The original IBM PC BIOS (and cassette BASIC) was stored on mask-programmed read-only memory (ROM) chips in sockets on the motherboard. ROMs could be replaced, but not altered, by users. To allow for updates, many compatible computers used re-programmable memory devices such as EPROM and later flash memory devices. According to Robert Braver, the president of the BIOS manufacturer Micro Firmware, Flash BIOS chips became common around 1995 because the electrically erasable PROM (EEPROM) chips are cheaper and easier to program than standard ultraviolet erasable PROM (EPROM) chips. Flash chips are programmed (and re-programmed) in-circuit, while EPROM chips need to be removed from the motherboard for re-programming.[27] BIOS versions are upgraded to take advantage of newer versions of hardware and to correct bugs in previous revisions of BIOSes.[28]

Beginning with the IBM AT, PCs supported a hardware clock settable through BIOS. It had a century bit which allowed for manually changing the century when the year 2000 happened. Most BIOS revisions created in 1995 and nearly all BIOS revisions in 1997 supported the year 2000 by setting the century bit automatically when the clock rolled past midnight, December 31, 1999.[29]

The first flash chips were attached to the ISA bus. Starting in 1997, the BIOS flash moved to the LPC bus, a functional replacement for ISA, following a new standard implementation known as "firmware hub" (FWH). In 2006, the first systems supporting a Serial Peripheral Interface (SPI) appeared, and the BIOS flash memory moved again.[[[[citation requise]

The size of the BIOS, and the capacity of the ROM, EEPROM, or other media it may be stored on, has increased over time as new features have been added to the code; BIOS versions now exist with sizes up to 16 megabytes. For contrast, the original IBM PC BIOS was contained in an 8 KiB mask ROM. Some modern motherboards are including even bigger NAND flash memory ICs on board which are capable of storing whole compact operating systems, such as some Linux distributions. For example, some ASUS motherboards included Splashtop OS embedded into their NAND flash memory ICs.[30] However, the idea of including an operating system along with BIOS in the ROM of a PC is not new; in the 1980s, Microsoft offered a ROM option for MS-DOS, and it was included in the ROMs of some PC clones such as the Tandy 1000 HX.

Another type of firmware chip was found on the IBM PC AT and early compatibles. In the AT, the keyboard interface was controlled by a microcontroller with its own programmable memory. On the IBM AT, that was a 40-pin socketed device, while some manufacturers used an EPROM version of this chip which resembled an EPROM. This controller was also assigned the A20 gate function to manage memory above the one-megabyte range; occasionally an upgrade of this "keyboard BIOS" was necessary to take advantage of software that could use upper memory.[[[[citation requise]

The BIOS may contain components such as the Memory Reference Code (MRC), which is responsible for handling memory timings and related hardware settings.[31]:8[32]

Vendors and products[[[[modifier]

Comparison of different BIOS implementations
Entreprise AwardBIOS AMIBIOS Insyde SeaBIOS
Licence Proprietary Proprietary Proprietary LGPL v3
Maintained / developed Yes Yes Yes Yes
32-bit PCI BIOS calls Yes Yes Yes Yes
AHCI Yes Yes Yes Yes
APM Yes Yes Yes (1.2) Yes (1.2)
BBS Yes Yes Yes Yes
Boot menu Yes Yes Yes Yes
Compression Yes (LHA[33]) Yes (LHA) Yes (RLE) Yes (LZMA)
CMOS Yes Yes Yes Yes
EDD Yes Yes Yes Yes (3.0)
ESCD Yes Yes ? Non
Flash from ROM ? Yes ? Non
La langue Assemblée Assemblée Assemblée C
LBA Yes (48) Yes (48) Yes Yes (48)
MultiProcessor Specification Yes Yes Yes Yes
Option ROM Yes Yes Yes Yes
Password Yes Yes Yes Non
PMM ? Yes ? Yes
Setup screen Yes Yes Yes Non
SMBIOS Yes Yes Yes Yes (2.4)
Splash screen Yes (EPA)[34] Yes (PCX) Yes Yes (BMP, JPG)
TPM Inconnu Inconnu Inconnu Certains
USB booting Yes Yes Yes Yes
Hub USB ? ? ? Yes
USB keyboard Yes Yes Yes Yes
USB mouse Yes Yes Yes Yes

IBM published the entire listings of the BIOS for its original PC, PC XT, PC AT, and other contemporary PC models, in an appendix of the IBM PC Technical Reference Manual for each machine type. The effect of the publication of the BIOS listings is that anyone can see exactly what a definitive BIOS does and how it does it.

In May 1984 Phoenix Software Associates released its first ROM-BIOS which enabled OEMs to build essentially 100%-compatible clones without having to reverse-engineer the IBM PC BIOS themselves, as Compaq had done for the Portable, helping fuel the growth in the PC compatibles industry and sales of non-IBM versions of DOS.[35] And the first American Megatrends (AMI) BIOS was released on 1986.

New standards grafted onto the BIOS are usually without complete public documentation or any BIOS listings. As a result, it is not as easy to learn the intimate details about the many non-IBM additions to BIOS as about the core BIOS services.

Most PC motherboard suppliers license a BIOS "core" and toolkit from a commercial third-party, known as an "independent BIOS vendor" or IBV. The motherboard manufacturer then customizes this BIOS to suit its own hardware. For this reason, updated BIOSes are normally obtained directly from the motherboard manufacturer. Major BIOS vendors include American Megatrends (AMI), Insyde Software, Phoenix Technologies and Byosoft. Former vendors include Award Software and Microid Research that were acquired by Phoenix Technologies in 1998; Phoenix later phased out the Award Brand name. General Software, which was also acquired by Phoenix in 2007, sold BIOS for Intel processor based embedded systems.

The open source community increased their effort to develop a replacement for proprietary BIOSes and their future incarnations with an open sourced counterpart through the libreboot, coreboot and OpenBIOS/Open Firmware projects. AMD provided product specifications for some chipsets, and Google is sponsoring the project. Motherboard manufacturer Tyan offers coreboot next to the standard BIOS with their Opteron line of motherboards. MSI and Gigabyte Technology have followed suit with the MSI K9ND MS-9282 and MSI K9SD MS-9185 resp. the M57SLI-S4 models.

Sécurité[[[[modifier]

An American Megatrends BIOS showing a "Intel CPU uCode Loading Error" after a failed attempt to upload microcode patches into the CPU

EEPROM chips are advantageous because they can be easily updated by the user; it is customary for hardware manufacturers to issue BIOS updates to upgrade their products, improve compatibility and remove bugs. However, this advantage had the risk that an improperly executed or aborted BIOS update could render the computer or device unusable. To avoid these situations, more recent BIOSes use a "boot block"; a portion of the BIOS which runs first and must be updated separately. This code verifies if the rest of the BIOS is intact (using hash checksums or other methods) before transferring control to it. If the boot block detects any corruption in the main BIOS, it will typically warn the user that a recovery process must be initiated by booting from removable media (floppy, CD or USB flash drive) so the user can try flashing the BIOS again. Some motherboards have a sauvegarde BIOS (sometimes referred to as DualBIOS boards) to recover from BIOS corruptions.

There are at least four known BIOS attack viruses, two of which were for demonstration purposes. The first one found in the wild was Mebromi, targeting Chinese users.

The first BIOS virus was CIH, also known as the "Chernobyl Virus", which was able to erase flash ROM BIOS content on compatible chipsets. CIH appeared in mid-1998 and became active in April 1999. Often, infected computers could no longer boot, and people had to remove the flash ROM IC from the motherboard and reprogram it. CIH targeted the then-widespread Intel i430TX motherboard chipset and took advantage of the fact that the Windows 9x operating systems, also widespread at the time, allowed direct hardware access to all programs.

Modern systems are not vulnerable to CIH because of a variety of chipsets being used which are incompatible with the Intel i430TX chipset, and also other flash ROM IC types. There is also extra protection from accidental BIOS rewrites in the form of boot blocks which are protected from accidental overwrite or dual and quad BIOS equipped systems which may, in the event of a crash, use a backup BIOS. Also, all modern operating systems such as FreeBSD, Linux, macOS, Windows NT-based Windows OS like Windows 2000, Windows XP and newer, do not allow user-mode programs to have direct hardware access.[[[[citation requise]

As a result, as of 2008, CIH has become essentially harmless, at worst causing annoyance by infecting executable files and triggering antivirus software. Other BIOS viruses remain possible, however;[36] since most Windows home users without Windows Vista/7's UAC run all applications with administrative privileges, a modern CIH-like virus could in principle still gain access to hardware without first using an exploit.[[[[citation requise] The operating system OpenBSD prevents all users from having this access and the grsecurity patch for the Linux kernel also prevents this direct hardware access by default, the difference being an attacker requiring a much more difficult kernel level exploit or reboot of the machine.[[[[citation requise]

The second BIOS virus was a technique presented by John Heasman, principal security consultant for UK-based Next-Generation Security Software. In 2006, at the Black Hat Security Conference, he showed how to elevate privileges and read physical memory, using malicious procedures that replaced normal ACPI functions stored in flash memory. [37].[[[[citation requise]

The third BIOS virus was a technique called "Persistent BIOS infection." It appeared in 2009 at the CanSecWest Security Conference in Vancouver, and at the SyScan Security Conference in Singapore. Researchers Anibal Sacco[38] and Alfredo Ortega, from Core Security Technologies, demonstrated how to insert malicious code into the decompression routines in the BIOS, allowing for nearly full control of the PC at start-up, even before the operating system is booted. The proof-of-concept does not exploit a flaw in the BIOS implementation, but only involves the normal BIOS flashing procedures. Thus, it requires physical access to the machine, or for the user to be root. Despite these requirements, Ortega underlined the profound implications of his and Sacco's discovery: "We can patch a driver to drop a fully working rootkit. We even have a little code that can remove or disable antivirus."[39]

Mebromi is a trojan which targets computers with AwardBIOS, Microsoft Windows, and antivirus software from two Chinese companies: Rising Antivirus and Jiangmin KV Antivirus.[40][41][42] Mebromi installs a rootkit which infects the master boot record.

In a December 2013 interview with 60 minutes, Deborah Plunkett, Information Assurance Director for the US National Security Agency claimed the NSA had uncovered and thwarted a possible BIOS attack by a foreign nation state, targeting the US financial system.[43] The program cited anonymous sources alleging it was a Chinese plot.[43] However follow-up articles in The Guardian,[44]The Atlantic,[45]Filaire[46] et The Register[47] refuted the NSA's claims.

Alternatives and successors[[[[modifier]

As of 2011, the BIOS is being replaced by the more complex Extensible Firmware Interface (EFI) in many new machines. EFI is a specification which replaces the runtime interface of the legacy BIOS. Initially written for the Intel Itanium architecture, EFI is now available for x86 and x86-64 platforms; the specification development is driven by The Unified EFI Forum, an industry Special Interest Group. EFI booting has been supported in only Microsoft Windows versions supporting GPT,[48] the Linux kernel 2.6.1 and later, and macOS on Intel-based Macs.[49] As of 2014, new PC hardware predominantly ships with UEFI firmware. The architecture of the rootkit safeguard can also prevent the system from running the user's own software changes, which makes UEFI controversial as a BIOS replacement in the open hardware community.

Other alternatives to the functionality of the "Legacy BIOS" in the x86 world include coreboot and libreboot.

Some servers and workstations use a platform-independent Open Firmware (IEEE-1275) based on the Forth programming language; it is included with Sun's SPARC computers, IBM's RS/6000 line, and other PowerPC systems such as the CHRP motherboards, along with the x86-based OLPC XO-1.

As of at least 2015, Apple has removed legacy BIOS support from MacBook Pro computers. As such the bless utility no longer supports the –legacy switch, and prints "Legacy mode not supported on this system". These Macs also cannot boot from CD-ROM or USB flash drives.[[[[citation requise]

Voir également[[[[modifier]

  1. ^ The signature at offset +0x1FE in boot sectors is 0x55 0xAA, C'est 0x55 at offset +0x1FE et 0xAA at offset +0x1FF. Since little-endian representation must be assumed in the context of IBM PC compatible machines, this can be written as 16-bit word 0xAA55 in programs for x86 processors (note the swapped order), whereas it would have to be written as 0x55AA in programs for other CPU architectures using a big-endian representation. Since this has been mixed up numerous times in books and even in original Microsoft reference documents, this article uses the offset-based byte-wise on-disk representation to avoid any possible misinterpretation.

Références[[[[modifier]

  1. ^ "Ref — System BIOS". PCGuide. Archived from the original on 2014-12-21. Récupéré 2014-12-06.
  2. ^ une b c Kildall, Gary Arlen (June 1975), CP/M 1.1 or 1.2 BIOS and BDOS for Lawrence Livermore Laboratories
  3. ^ une b c Kildall, Gary Arlen (January 1980). "The History of CP/M, THE EVOLUTION OF AN INDUSTRY: ONE PERSON'S VIEWPOINT" (Vol. 5, No. 1, Number 41 ed.). Dr. Dobb's Journal of Computer Calisthenics & Orthodontia. pp. 6–7. Archived from the original on 2016-11-24. Récupéré 2013-06-03.
  4. ^ une b Bradley, Tony. "R.I.P. BIOS: A UEFI Primer". PCWorld. Archived from the original on 2014-01-27. Récupéré 2014-01-27.
  5. ^ Swaine, Michael (1997-04-01). "Gary Kildall and Collegial Entrepreneurship". Dr. Dobb's Journal. Archived from the original on 2007-01-24. Récupéré 2006-11-20.
  6. ^ une b "IEEE Milestone in Electrical Engineering and Computing – CP/M – Microcomputer Operating System, 1974" (PDF). Computer History Museum. 2014-04-25. Archivé (PDF) from the original on 2019-04-03. Récupéré 2019-04-03.
  7. ^ Shustek, Len (2016-08-02). "In His Own Words: Gary Kildall". Remarkable People. Computer History Museum. Archived from the original on 2016-12-17.
  8. ^ une b Killian, A. Joseph "Joe" (2001). "Gary Kildall's CP/M: Some early CP/M history – 1976-1977". Thomas "Todd" Fischer, IMSAI. Archived from the original on 2012-12-29. Récupéré 2013-06-03.
  9. ^ une b Fraley, Bob; Spicer, Dag (2007-01-26). "Oral History of Joseph Killian, Interviewed by: Bob Fraley, Edited by: Dag Spicer, Recorded: January 26, 2007, Mountain View, California, CHM Reference number: X3879.2007," (PDF). Computer History Museum. Archivé (PDF) from the original on 2014-07-14. Récupéré 2013-06-03.
  10. ^ "HP BIOS Configuration Utility". Hewlett-Packard. 2013. Archived from the original on 2015-01-12. Récupéré 2015-01-12.
  11. ^ See Intel 64 and IA-32 Architectures Software Developer’s Manual Archived 2012-01-26 at the Wayback Machine, volume 3, section 9.1.2
  12. ^ page 5-27 IBM Personal Computer Hardware Reference Library Technical Reference, 1984, publication number 6361459
  13. ^ "IBM 5162 PC XT286 TechRef 68X2537 Technical Reference manual" (PDF). August 1986. p. 35 (System BIOS A-5). Archivé (PDF) from the original on 2014-12-11. Récupéré 2014-12-11.
  14. ^ How StuffWorks: What BIOS Does Archived 2008-02-07 at the Wayback Machine.
  15. ^ BIOS Boot Specification (Version 1.01, 11 January 1996) Archived April 22, 2012, at the Wayback Machine
  16. ^ Mueller, Scott (2001-06-08). "Processor Update Feature | Microprocessor Types and Specifications". InformIT. Archived from the original on 2014-04-16. Récupéré 2014-04-15.
  17. ^ "Linux* Processor Microcode Data File". Download Center. Downloadcenter.intel.com. 2009-09-23. Archived from the original on 2014-04-16. Récupéré 2014-04-15.
  18. ^ Scott Mueller, Upgrading and repairing PCs 15th edition, Que Publishing, 2003 ISBN 0-7897-2974-1, pages 109-110
  19. ^ une b "How SLP and SLIC Works". guytechie.com. 2010-02-25. Archived from the original on 2015-02-03. Récupéré 2015-02-03.
  20. ^ "Create and add an OEM ACPI SLIC table module to a congatec BIOS" (PDF). congatec.com. 2011-06-16. Archivé (PDF) from the original on 2014-08-02. Récupéré 2015-02-03.
  21. ^ Whitson Gordon. "A Beginner's Introduction to Overclocking Your Intel Processor". Lifehacker. Gawker Media. Archived from the original on 2014-12-07. Récupéré 2014-12-06.
  22. ^ Smart Computing Article – What Is The BIOS? Archived 2012-03-10 at the Wayback Machine – Computing Basics July 1994 • Vol.5 Issue 7
  23. ^ Torres, Gabriel (2004-11-24). "Introduction and Lithium Battery". Replacing the Motherboard Battery. hardwaresecrets.com. Archived from the original on 2013-12-24. Récupéré 2013-06-20.
  24. ^ Constantine A. Murenin (2010-05-21). "11.1. Interfacing from the BIOS". OpenBSD Hardware Sensors — Environmental Monitoring and Fan Control (MMath thesis). University of Waterloo: UWSpace. hdl:10012/5234. Document ID: ab71498b6b1a60ff817b29d56997a418.
  25. ^ Constantine A. Murenin (2007-04-17). "2. Hardware review". Generalised Interfacing with Microprocessor System Hardware Monitors. Proceedings of 2007 IEEE International Conference on Networking, Sensing and Control, 15–17 April 2007. London, United Kingdom: IEEE. pp. 901–906. doi:10.1109/ICNSC.2007.372901. ISBN 1-4244-1076-2. IEEE ICNSC 2007, pp. 901—906.
  26. ^ "aibs — ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensor". OpenBSD, DragonFly BSD, NetBSD and FreeBSD. 2010.
  27. ^ "Decoding RAM & ROM Archived 2012-04-06 at the Wayback Machine." Smart Computing. June 1997. Volume 8, Issue 6.
  28. ^ "Upgrading Your Flash BIOS For Plug And Play Archived 2012-04-06 at the Wayback Machine." Smart Computing. March 1996. Volume 7, Issue 3.
  29. ^ "Time To Check BIOS Archived 2011-07-16 at the Wayback Machine." Smart Computing. April 1999. Volume 7, Issue 4.
  30. ^ SplashTop's Instant-On Linux Desktop | Geek.com Archived 2008-09-07 at the Wayback Machine
  31. ^ Posted by Alex Watson, possibly repost from original content on custompc.com [unclear]. "The life and times of the modern motherboard". 2007-11-27. Archived from the original on 2012-07-24. Récupéré 2013-02-02.
  32. ^ David Hilber, Jr. (August 2009). "Considerations for Designing an Embedded Intel Architecture System with System Memory Down ®" (PDF). Intel. Archivé (PDF) from the original on 2012-10-18. Récupéré 2013-02-02.
  33. ^ Stiller, Andreas (2001). "Prozessor-Patches". c't (in German). Heise (5): 240. Archived from the original on 2015-11-22. Récupéré 2015-11-21.
  34. ^ "Award BIOS logo". 2015-06-15. Archived from the original on 2015-12-21. Récupéré 2015-12-06.
  35. ^ Phoenix Eagerly Waiting to Clone Next-Generation IBM BIOS Archived 2014-01-22 at the Wayback Machine, InfoWorld, March 9, 1987
  36. ^ New BIOS Virus Withstands HDD Wipes, March 27, 2009. Marcus Yam. Tom's Hardware US
  37. ^ "Black Hat 2006 Multimedia – Presentation, Audio and Video Archives". www.blackhat.com. Récupéré 2019-04-21.
  38. ^ Sacco, Anibal; Alfredo Ortéga. "Persistent BIOS Infection". Exploiting Stuff. Archived from the original on 2009-08-04. Récupéré 2010-02-06.
  39. ^ Fisher, Dennis. "Researchers unveil persistent BIOS attack methods". Threat Post. Archived from the original on 2010-01-30. Récupéré 2010-02-06.
  40. ^ Giuliani, Marco. "Mebromi: the first BIOS rootkit in the wild". Blog. Archived from the original on 2011-09-23. Récupéré 2011-09-19.
  41. ^ "360发布"BMW病毒"技术分析报告". Blog. Archived from the original on 2011-09-25. Récupéré 2011-09-19.
  42. ^ Yuan, Liang. "Trojan.Mebromi". Threat Response. Archived from the original on 2011-09-23. Récupéré 2011-09-19.
  43. ^ une b "How did 60 Minutes get cameras into a spy agency?". CBS News. Archived from the original on 2014-04-22. Récupéré 2014-04-15.
  44. ^ Spencer Ackerman in Washington (2013-12-16). "NSA goes on 60 Minutes: the definitive facts behind CBS's flawed report | World news". theguardian.com. Archived from the original on 2014-01-25. Récupéré 2014-01-27.
  45. ^ Friedersdorf, Conor (2013-12-16). "A Question for 60 Minutes: Why Would China Want to Destroy the Global Economy?". L'Atlantique. Récupéré 2019-03-26.
  46. ^ Poulsen, Kevin (2013-12-16). "60 Minutes Puff Piece Claims NSA Saved U.S. From Cyberterrorism". Filaire. ISSN 1059-1028. Récupéré 2019-03-26 – via www.wired.com.
  47. ^ tweet_btn(), Simon Sharwood 16 Dec 2013 at 03:13. "NSA alleges 'BIOS plot to destroy PCs'". www.theregister.co.uk. Récupéré 2019-03-26.
  48. ^ "Windows and GPT FAQ". microsoft.com. Microsoft. Archived from the original on 2011-02-19. Récupéré 2014-12-06.
  49. ^ "Extensible Firmware Interface (EFI) and Unified EFI (UEFI)". Intel. Archived from the original on 2010-01-05. Récupéré 2014-12-06.

Lectures complémentaires[[[[modifier]

  • IBM Personal Computer Technical Reference (Revised ed.). IBM Corporation. March 1983.
  • IBM Personal Computer AT Technical Reference. IBM Personal Computer Hardware Reference Library. 0, 1, 2 (Revised ed.). IBM Corporation. March 1986 [1984-03]. 1502494, 6139362, 6183310, 6183312, 6183355, 6280070, 6280099.
  • Phoenix Technologies, Ltd. (1989) [1987]. System BIOS for IBM PC/XT/AT Computers and Compatibles — The Complete Guide to ROM-Based System Software. Phoenix Technical Reference Series (1st ed.). Addison Wesley Publishing Company, Inc. ISBN 0-201-51806-6.
  • Phoenix Technologies, Ltd. (1989) [1987]. CBIOS for IBM PS/2 Computers and Compatibles — The Complete Guide to ROM-Based System Software for DOS. Phoenix Technical Reference Series (1st ed.). Addison Wesley Publishing Company, Inc. ISBN 0-201-51804-X.
  • Phoenix Technologies, Ltd. (1989) [1987]. ABIOS for IBM PS/2 Computers and Compatibles — The Complete Guide to ROM-Based System Software for OS/2. Phoenix Technical Reference Series (1st ed.). Addison Wesley Publishing Company, Inc. ISBN 0-201-51805-8.
  • Phoenix Technologies, Ltd. (June 1991). System BIOS for IBM PCs, Compatibles, and EISA Computers — The Complete Guide to ROM-Based System Software. Phoenix Technical Reference Series (2nd ed.). Amsterdam: Addison Wesley Publishing Company, Inc. ISBN 0-201-57760-7.
  • BIOS Disassembly Ninjutsu Uncovered, 1st edition, a freely available book in PDF format
  • More Power To Firmware, free bonus chapter to the Mac OS X Internals: A Systems Approach livre

Liens externes[[[[modifier]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.