2Aug

Que fait mon BIOS après le démarrage?

Une fois que votre ordinateur a terminé le processus de démarrage et que vous êtes fermement à l'intérieur du système d'exploitation, y at-il quelque chose à faire pour le BIOS?

Question d'aujourd'hui &La session de réponse nous vient avec l'aimable autorisation de SuperUser, une subdivision de Stack Exchange, un groupement de lecteurs communautaires de sites Web Q & A.

La question

SuperUser lecteur Indrek pose cette question liée au BIOS:

Je me suis toujours demandé si le BIOS( sauf conduire POST, démarrage du bootloader et passer le contrôle à l'OS après avoir appuyé sur le bouton d'alimentation) a un but ou une fonctionle système fonctionne?

Le système d'exploitation communique-t-il avec le BIOS en cours d'exécution et si oui, comment?

En effet? Quelle est la fonction du BIOS en dehors de son rôle critique dans le démarrage de l'ordinateur?

Les réponses

Gracieuseté de SuperUser collaborateur Mechanical Snail, un aperçu de la façon dont le rôle du BIOS a changé au fil du temps et ce qu'il est et ne fait pas aujourd'hui:

Le rôle du BIOS

Avec OS modernes, pratiquement aucun .Linus Torvalds aurait déclaré que sa tâche était de "charger le système d'exploitation et de sortir de là".

Les anciens systèmes d'exploitation tels que MS-DOS reposaient sur le BIOS pour de nombreuses tâches( par exemple l'accès au disque), en appelant des interruptions.

Avec les OS modernes, le bootloader passe rapidement en mode 32 ou 64 bits et exécute le noyau OS.Le noyau peut enregistrer ses propres gestionnaires d'interruption, qui peuvent être appelés par les applications de l'espace utilisateur. Les routines du noyau peuvent être plus portables( puisqu'elles ne dépendent pas du matériel spécifique), plus souples( les fournisseurs d'OS peuvent les changer à la demande plutôt que d'utiliser tout ce qui est fourni avec le matériel), plus sophistiquées( elles peuvent exécuter arbitrairementcode plutôt que ce qui a été programmé dans le BIOS), et plus sécurisé( puisque le système d'exploitation peut contrôler l'accès aux ressources partagées et empêcher les programmes de se taper les uns les autres, en implémentant ses propres schémas d'autorisations arbitraires).

Pour interagir avec un matériel spécifique, les systèmes d'exploitation peuvent charger et utiliser ses propres pilotes de périphérique. Il n'est donc pas nécessaire que le système d'exploitation ou les applications appellent la plupart des routines du BIOS.En fait, pour des raisons de sécurité, les interruptions du BIOS sont même désactivées. Puisque le BIOS fonctionne en mode réel 16 bits, il est plus difficile d'appeler des systèmes d'exploitation modernes.

Bien que l'utilisation du BIOS soit très limitée pendant l'exécution du système d'exploitation, ses fonctions sont encore utilisées en périphérie. Par exemple, quand un ordinateur dort, le système d'exploitation ne fonctionne pas et il appartient au microprogramme de mettre le matériel dans l'état correct pour mettre en pause et reprendre le système d'exploitation. Ces utilisations sont généralement limitées aux appels ACPI plutôt qu'aux appels à l'interface BIOS complète. ACPI est une extension du BIOS qui "place la gestion de l'alimentation sous le contrôle du système d'exploitation( OSPM), contrairement au système central BIOS précédent, qui utilisait un microprogramme spécifique à la plate-forme pour déterminer la gestion de l'alimentation et la politique de configuration".

Notez que officiellement "BIOS" fait référence à une interface de microprogramme particulière, mais le terme est couramment utilisé pour désigner le microprogramme de l'ordinateur en général. Certains ordinateurs récents( en particulier ceux d'Apple) ont remplacé le BIOS( sensu strictu) par UEFI, ce qui est bien sûr ce que l'on appelle pour implémenter ces fonctions.

Pour plus d'informations sur la diminution du rôle du BIOS au fil du temps, voir Wikipédia.

Un autre contributeur SuperUser, Simon Richter, nous donne un aperçu des choses que le BIOS fait encore:

Le BIOS et la gestion de l'alimentation

Le BIOS fournit un certain nombre de services aux systèmes d'exploitation, dont la plupart sont liés à la gestion de l'alimentationles horloges de CPU et de bus

  • activer / désactiver les périphériques de la carte mère
  • contrôle de l'alimentation du port d'extension
  • suspend-to-disk et suspend-to-RAM
  • reprend les paramètres d'événement
  • Suspend-to-disk est implémenté dans l'OS la plupart du tempspeut restaurer son état plus rapidement( seul l'état du noyau est rechargé et l'état du programme est inversé si nécessaire, ce qui est nettement plus rapide que le rechargement de toute la RAM), mais la fonction reste dans la spécification.

    Suspend-to-RAM ne peut pas être implémenté par le système d'exploitation, car il dépend du BIOS qui ignore l'initialisation et le test de la RAM. Le système d'exploitation a donc besoin d'une API pour indiquer au BIOS qu'il a l'intention de le reprendre. Afin de fournir ce service, le BIOS demande au système d'exploitation de laisser une certaine zone RAM intacte.

    L'interface pour le système d'exploitation pour tous les services du BIOS est un morceau de code de machine virtuelle qui doit être exécuté sur un émulateur et qui génère les opérations d'E / S nécessaires dans le matériel. Pour suspendre, ceci est généralement implémenté de sorte que l'exécution de l'une des écritures matérielles déclenche alors une interruption, qui transfère le contrôle au BIOS.

    Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.