Le BIOS est-il considéré comme un système d'exploitation? [fermé]

11

Cette question vient à l'esprit lorsqu'il s'agit de matrices RAID, mais n'est pas nécessairement applicable au sujet.

Comment le BIOS peut-il lire à partir d'un disque dur pour charger efficacement le système d'exploitation, alors que de nombreux systèmes d'exploitation ont besoin de pilotes pour pouvoir faire la même chose? Le BIOS a-t-il une liste de pilotes dont il tire comme l'un des systèmes d'exploitation traditionnels comme Windows ou Linux?

Chad Harrison
la source
2
Les administrateurs SU ne sont pas constructifs
Stumbler

Réponses:

10

Tout d'abord, le BIOS est le système d'entrée / sortie de base, pas techniquement un système d'exploitation ... En ce qui concerne le chargement du RAID et autres, ce qui se passe pendant le démarrage est que la machine interroge toute carte d'extension demandant si elle a un BIOS à charger. La carte Mr RAID crie "Ya, j'ai quelque chose à faire en premier", puis il allume son "BIOS" (dans ce cas, un OS), fait lui-même quelques calculs, puis passe le contrôle au BIOS principal ("Hey, J'ai fini, voici toutes les informations que vous devez savoir sur un besoin de savoir, vous savez? ").

Une fois que le BIOS principal reprend le contrôle, il peut passer par «Ahhh, je vois que Mr RAID a un volume de démarrage, je vais le parcourir si possible, puis essayer mes autres astuces».

Le BIOS n'est donc pas "techniquement" un système d'exploitation, mais c'est un système d'entrée / sortie pour se préparer au vrai système d'exploitation

Canadian Luke
la source
11
" il déclenche son" BIOS "(dans ce cas, un OS) " - les extensions BIOS ou BIOS ne sont tout simplement pas un OS. Le but principal d'un OS est la gestion des ressources . Le BIOS, en tant que programme de démarrage autonome, ne prend pas la peine de conserver des informations d'allocation de ressources. Il n'y a pas de routines open () ou close () fournies par le BIOS pour restreindre l'accès au matériel. Tout code en cours d'exécution peut utiliser les fonctions de lecture / écriture du BIOS. Le BIOS ne répond pas à l'objectif de base du système d'exploitation.
sciure
@sawdust qu'en est-il de l'activation ou de la désactivation des périphériques embarqués? Cela restreindrait l'accès au matériel.
Bon Gart
@BonGart - L'activation / désactivation par le BIOS est simplement un outil de configuration qui remplace l'installation ou la suppression physique du périphérique. C'est une action à l'échelle du système, et en vigueur jusqu'à une reconfiguration ou une panne de périphérique. Je faisais en fait référence aux concepts du système d'exploitation pour la synchronisation et l'exclusion tels que les mutex et les sémaphores qui peuvent contrôler / restreindre au niveau du processus et / ou du thread. Ou par exemple un spouleur d'impression; le programme de spoule du système d'exploitation possède l'imprimante et interdit toute utilisation directe de cette imprimante. Vous devez soumettre votre travail d'impression au spouleur, qui met en file d'attente les demandes d'impression.
sciure de bois
10

Le BIOS , littéralement un «système d'entrée / sortie de base», est un ensemble de petits programmes codés en dur dans la carte mère d'un ordinateur (généralement stockés sur une EEPROM ). Ces programmes incluent la possibilité de modifier les paramètres, d'écrire du texte et de saisir les entrées des utilisateurs depuis les périphériques d'E / S de base (la carte mère doit les émuler pour les périphériques de souris / clavier VGA et USB avancés), et surtout, fournit la fonctionnalité de recherche et de démarrage systèmes d'exploitation présents sur tous les périphériques de stockage attaqués.

En soi, le BIOS n'est pas un système d'exploitation. Le BIOS est un petit programme pour charger réellement un OS. Bien qu'il soit possible dans certains systèmes d'exploitation d'invoquer les différents sous-systèmes du BIOS, cela nécessite que le CPU revienne en mode réel, car le BIOS ne fournit pas de support de mémoire virtuelle, de changement de tâche (et donc la possibilité d'exécuter des programmes ), ou la prise en charge du pilote de périphérique (et donc, ne peut pas accéder directement au matériel hors de la plage accessible par carte directe, ni à tout ce qui n'est pas couvert par les appels d'interruption du BIOS ).

Comme l'a dit Linus Torvalds :

Non pas que je prétende que le BIOS est merveilleux non plus, mais au moins tout le monde sait que le BIOS n'est qu'un chargeur de démarrage et n'essaie pas de faire autre chose.

Le plus grand avantage absolu d'un BIOS est qu'il est si gênant et évidemment démodé, que vous devez être fou pour vouloir y faire quelque chose de sérieux [...] ne vous faites aucune idée qu'il s'agit d'un cadre grandiose pour autre chose que "il suffit de charger le système d'exploitation et de sortir de l'enfer".

Enfin, il convient de noter qu'un BIOS est considérablement différent d'un UEFI ( Unified Extensible Firmware Interface ), ce dernier étant beaucoup plus proche de fournir une interface de système d'exploitation de base (fournissant des pilotes de périphérique et un support d'application). On peut encore se demander si même l'UEFI peut être considéré comme un véritable système d'exploitation à lui seul, bien qu'il soit beaucoup plus proche d'être considéré comme un système d'exploitation qu'un BIOS.

cp2141
la source
2

Pour faire face aux nombreux commentaires et points soulevés, j'ai à nouveau modifié la réponse.

Le BIOS est-il un système d'exploitation?

Eh bien, si un système d'exploitation est défini comme un logiciel qui permet à un utilisateur d'interagir avec le matériel d'un «ordinateur», alors oui… techniquement et littéralement, c'est un système d'exploitation.

Le changement de tâche définit-il ce qui fait un système d'exploitation?

Étant donné que MS-DOS était un système d'exploitation valide et que jusqu'à la version 5, le changement de tâche n'était pas pris en charge, le changement de tâche n'affecte pas le fait que le logiciel soit ou non un système d'exploitation.

La virtualisation de la mémoire définit-elle ce qui fait un système d'exploitation?

Encore une fois, en utilisant MS-DOS à titre d'exemple, bien que la prise en charge de la virtualisation de la mémoire puisse être ajoutée en exécutant des extensions pendant le processus de chargement, il n'était pas nécessaire de les utiliser. Ainsi, la virtualisation de la mémoire n'est pas non plus une condition préalable à ce qui constitue un système d'exploitation.

S'il est stocké dans le micrologiciel, s'agit-il d'un système d'exploitation?

Certains diront qu'un routeur n'utilise pas de système d'exploitation. Par exemple, il semble y avoir une controverse quant à savoir si DD-WRT est considéré comme un système d'exploitation. Y a-t-il des appareils qui stockent un système d'exploitation dans le micrologiciel? Les téléphones modernes, les iPod et plus stockent des systèmes d'exploitation complexes auxquels peuvent être ajoutés des programmes dans le micrologiciel. Donc, juste parce qu'un OS est chargé dans le firmware, cela n'exclut pas que le logiciel en question soit considéré comme un système d'exploitation.

Si vous ne pouvez pas ajouter de programmes, ce n'est pas un système d'exploitation.

Éloignez-vous d'un smartphone moderne. Regardez un téléphone portable jetable bon marché. Il a un système d'exploitation stocké dans le micrologiciel, mais vous ne pouvez pas ajouter de programmes. Il fonctionne tel quel et uniquement avec les fonctionnalités proposées. Vous naviguez dans les menus comme vous le feriez pour n'importe quel autre système d'exploitation, vous choisissez ce que vous voulez faire (jouer à des jeux, etc.) et avec un bon nombre d'entre eux il y a quelques années, ils n'avaient pas la possibilité d'ajouter de logiciel supplémentaire.

S'il n'est pas moderne, n'est-ce pas un système d'exploitation?

Le moment dans l'histoire auquel le système d'exploitation a été créé et lancé n'a aucune incidence sur le fait qu'il s'agisse ou non d'un système d'exploitation.

Ainsi, le BIOS n'est peut-être pas joli et il peut ne pas vous offrir des fonctionnalités extrêmes. Cependant, il s'agit toujours d'un système d'exploitation.

Bon Gart
la source
3
La définition du système d'exploitation sur wikipedia est elle-même discutable. (J'en ai entendu d'autres) Mais de toute façon, vous passez totalement à côté des [...] services communs pour les programmes informatiques , qui je pense sont essentiels pour un OS.
Baarn
1
Je penche plus vers le firmware que vers l'OS. Un bios n'a aucune intelligence, il communique simplement avec le matériel à un niveau très bas et transmet ces informations au système d'exploitation. L'UEFI change cependant la donne.
Moab
1
C'est une fine ligne entre le firmware et le système d'exploitation, subjectif comme l'enfer.
Moab
1
OK, je cède, c'est un biOS, vous pouvez maintenant me couper la tête .. ;-)
Moab
2
@BonGart a BIOS manque de prise en charge de mémoire virtuelle et de planification des tâches - et donc, n'a pas la possibilité d'exécuter des programmes (c'est-à-dire qu'il ne peut pas être exécuté simultanément avec quoi que ce soit d'autre). Bien que je convienne qu'il fournit un support d'E / S de base, c'est un petit programme et non un système d'exploitation ... Ou classeriez-vous le petit morceau de code sur mon microcontrôleur qui reçoit un mot de passe et allume une LED (fournissant ainsi des informations de base / O support) un système d'exploitation aussi?
Percée
2

Ce qui est ou n'est pas un "système d'exploitation" est une question de jugement. Sans doute (et je l'ai soutenu en 1980), le PC / MS DOS d'origine n'était pas un "système d'exploitation" (malgré son nom), car il ne fournissait que des services d'E / S (et un analyseur de commandes grossier) et aucune véritable installation de gestion du système .

OTOH, de nombreuses implémentations du BIOS incluent désormais un certain degré de fonction d'hyperviseur qui gère les ressources du système d'une manière assez sophistiquée.

Quant à la façon dont le BIOS parvient à charger à partir du disque, etc., sans pilotes, par convention / standard, les périphériques "amorçables" incluent un ensemble d'opérations qui peuvent être utilisées sans avoir à mettre en place une infrastructure de gestion sophistiquée. Dans certains cas, ce n'est que la capacité de lire quelques secteurs à un emplacement relativement fixe, mais c'est tout ce qui est nécessaire dans la plupart des cas.

Daniel R Hicks
la source
Ainsi, vous allumez l'ordinateur, chargez MS-DOS, puis exécutez des programmes. Vous dites que MS-DOS n'était pas un système d'exploitation ... où était le système d'exploitation alors? Il semble que vous disiez que MS-DOS n'est pas ce que vous considérez comme un véritable système d'exploitation, même s'il fonctionnait techniquement comme tel (et en était donc un).
Bon Gart
1
Auparavant, il y avait beaucoup d'ordinateurs sans «système d'exploitation», juste un «exécutif au moment de l'exécution» ou certains qui fournissaient des services de fichiers et un analyseur de commandes. Ils ne les ont jamais appelés "systèmes d'exploitation".
Daniel R Hicks
2
@bonGart " où était alors le système d'exploitation? ", il n'est pas nécessaire d'avoir un système d'exploitation, c'est-à-dire un répartiteur / gestionnaire de ressources, pour exécuter des programmes sur un ordinateur. Les premiers ordinateurs (ou simples) (y compris les micros exécutant CP / M) avaient simplement un programme de chargement résident, et le programme chargé avait un accès complet à toutes les ressources informatiques. Il n'y avait pas de conflit de ressources, donc pas besoin d'un OS.
sciure
@sawdust - Correct. Et une étape de plus par rapport au "programme de chargement du programme résident" était une bibliothèque d'exécution résidente (bande de papier, disquette et fonctions clavier / affichage - peut-être une imprimante) et un "moniteur" ou "exécutif" ou d'autres qui détecteraient quand un programme terminé pour charger le suivant. DOS n'était pas beaucoup plus sophistiqué que ceux-ci.
Daniel R Hicks