78 votes

Quelles sont les fonctions du BIOS lorsque le système d'exploitation est en cours d'exécution ?

Je me suis toujours demandé si le BIOS (en dehors de l'exécution du POST, du démarrage du bootloader et de la transmission du contrôle au système d'exploitation après avoir appuyé sur le bouton d'alimentation) avait une utilité ou une fonction quelconque lorsque le système d'exploitation est en cours d'exécution ?

Le système d'exploitation communique-t-il avec le BIOS pendant son fonctionnement et, si oui, comment ?

74voto

ricafeal Points 801

Avec les systèmes d'exploitation modernes, pratiquement aucun . Linus Torvalds aurait déclaré que sa tâche consiste à "charger le système d'exploitation et à se tirer d'ici".

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

Avec les systèmes d'exploitation modernes, le chargeur de démarrage passe rapidement en mode 32 ou 64 bits et exécute le noyau du système d'exploitation. Le noyau peut enregistrer ses propres gestionnaires d'interruptions, 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 flexibles (les fournisseurs de systèmes d'exploitation peuvent les modifier à la demande plutôt que de devoir utiliser ce qui était fourni avec le matériel), plus sophistiquées (elles peuvent exécuter un code arbitrairement complexe plutôt que ce qui était programmé dans le BIOS) et plus sûres (puisque le système d'exploitation peut contrôler l'accès aux ressources partagées et empêcher les programmes de s'entrechoquer, en mettant en œuvre ses propres schémas de permissions arbitraires).

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

Bien que l'utilisation du BIOS soit très limitée pendant que le système d'exploitation fonctionne, ses fonctions sont toujours utilisées de manière périphérique. Par exemple, quand un ordinateur dort Dans ce cas, le système d'exploitation n'est pas en cours d'exécution et c'est finalement au microprogramme qu'il incombe de placer 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 à ACPI plutôt que des appels à l'interface complète du BIOS. L'ACPI est une extension du BIOS qui "place la gestion de l'alimentation sous le contrôle du système d'exploitation (OSPM), par opposition au système précédent, centré sur le BIOS, qui s'appuyait sur un micrologiciel spécifique à la plate-forme pour déterminer la politique de gestion de l'alimentation et de configuration". .

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

Pour plus d'informations sur la façon dont le rôle du BIOS a diminué au fil du temps, voir Wikipedia .

33voto

Howard Hoffman Points 303

Le BIOS fournit un certain nombre de services aux systèmes d'exploitation, dont la plupart sont liés à la gestion de l'alimentation :

  • modifier les horloges du CPU et du bus
  • activer/désactiver les périphériques de la carte mère
  • contrôle de l'alimentation d'un port d'expansion
  • suspension sur disque et suspension sur mémoire vive
  • reprendre les paramètres de l'événement

La suspension sur disque est implémentée dans le système d'exploitation la plupart du temps car le système d'exploitation peut restaurer son état plus rapidement (seul l'état du noyau est rechargé, et l'état du programme est inséré si nécessaire, ce qui est beaucoup plus rapide que de recharger toute la RAM), mais la fonctionnalité reste dans la spécification.

Suspend-to-RAM ne peut pas être implémenté par le système d'exploitation, car il repose sur le BIOS qui saute 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 d'être repris avec le contenu actuel de la RAM. Afin de fournir ce service, le BIOS demande au système d'exploitation de laisser une certaine zone de RAM intacte.

L'interface du 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 la suspension, cela est généralement mis en œuvre de sorte que l'exécution de l'une des écritures matérielles déclenche ensuite une interruption, qui transfère le contrôle au BIOS.

17voto

Ben L. Points 336

Il existe trois domaines principaux dans lesquels un système d'exploitation utilise le BIOS dans les systèmes modernes, tels que ceux qui utilisent la norme UEFI. Le premier est une série de services connus sous le nom de services d'exécution UEFI. Ces services permettent au système d'exploitation d'obtenir des informations que seul le BIOS connaît, comme l'heure d'utilisation du BIOS, l'ordre de démarrage, le profil de sécurité de l'utilisateur actuel, les informations sur la carte mère, les modules DIMM, etc.

Le second est le mode de gestion du système, qui est une section cachée de la mémoire (SMRAM) à laquelle on accède par une interruption de haute priorité (SMM). De nombreux BIOS l'utilisent pour implémenter des fonctions OEM de haute sécurité ou pour mettre en œuvre des contournements matériels.

La troisième est l'ACPI. L'ACPI fournit des données et un code de configuration, de gestion de l'alimentation et de matériel utilisés par le système d'exploitation pour compléter ce que les pilotes du système d'exploitation peuvent découvrir à l'aide d'une norme industrielle ou d'un pilote de périphérique. Par exemple, existe-t-il un signal spécial pour contrôler l'alimentation du disque dur, ou une façon spéciale de communiquer avec la batterie qui n'est pas couverte par une norme.

Tim

9voto

James Broadhead Points 752

Les systèmes d'exploitation modernes utilisent le BIOS principalement pour le chargement uniquement, mais il y a encore quelques utilisations pour lui qui incluent, notamment :

  • Réagir au bouton d'alimentation (éteindre le PC après 4 secondes).
    inclus).
  • Modification des paramètres de luminosité de l'écran des ordinateurs portables
  • Événements relatifs aux batteries des ordinateurs portables
  • Suspension

1voto

Matt Points 153

En plus de ce qui a été noté ci-dessus, Intel commence à faire l'inverse et à intégrer davantage le matériel en fournissant un accès hors bande au matériel via Technologie de gestion active intégrés dans le bios et la carte mère qui peuvent être contrôlés indépendamment du système d'exploitation. Avec ces cartes, vous pouvez faire pas mal de choses. Que vous le considériez comme intégré ou comme un second système d'exploitation est une autre chose, mais comme il y a du matériel sur la carte et des composants dans le bios, je m'en tiens à l'intégré.

le marketing de l'intelligence

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X