Le concept PC BIOS dépend de CP / M, un système d’exploitation très répandu sur les ordinateurs à bus Z-80 "S-100" 8 bits avant que le PC IBM ne prenne la relève.
Les fonctions dépendantes du matériel du CP / M devraient être dans une ROM (BIOS). Une autre partie, chargée hors du disque par le chargeur de démarrage, était le logiciel qui supportait le système de fichiers CP / M (BDOS), puis le processeur de commande ou "shell" (CCP). Le matériel que CP / M devait prendre en charge n’était pas très important: un lecteur de disque, un écran, un port série ou deux (ports COM ou AUX) pouvant être connectés à des imprimantes ou des modems.
Le BIOS du PC a exécuté une fonction d’amorçage de base similaire à celle utilisée par CP / M, et DOS a utilisé les fonctions du BIOS pour effectuer les entrées et les sorties de base, comme prévu. Les programmeurs ont fini par contourner ces fonctions car elles étaient lentes. Cela a conduit les fabricants de clones de PC au milieu des années 80 à recréer la plate-forme dans son ensemble (facile, car IBM a très bien documenté le PC d'origine à l'intérieur et à l'extérieur), au lieu de simplement fournir un BIOS avec des interfaces compatibles, bien qu'ils devaient le faire aussi.
À ce stade, nous pouvons dire que, pour un système d’exploitation moderne, le BIOS n’est pas vraiment nécessaire au-delà du démarrage du système. Toutefois ...
À partir du début des années 90, la notion de gestion de l’alimentation a pris forme et le BIOS s’est vu confier cette tâche. APM fonctionne bien avec un système d'exploitation mono-tâche tel que DOS, mais pas avec de véritables systèmes d'exploitation multitâches tels que Windows ou Linux. À peu près à la même époque, le 386 était en pleine vigueur, le processeur Intel prenant en charge le multitâche réel. DOS et le BIOS n'ont pas été mis à jour en réponse aux nouvelles fonctionnalités de ce processeur, principalement parce que tous les processeurs Intel continueront de fonctionner en mode de compatibilité 16 bits hérité pour lequel le BIOS PC d'origine a été conçu. Ainsi, les systèmes d’exploitation modernes ignorent / contournent pratiquement toutes les fonctionnalités d’entrée / sortie de type CP / M du BIOS, sauf éventuellement lors des premières étapes d’amorçage.
ACPI a finalement été développé, principalement dans le cadre du BIOS, qui prend en charge la gestion de l’alimentation et la configuration de composants spécifiques à la plate-forme (souvent les ordinateurs portables). ACPI gère également l'état final de mise en veille, de mise en veille ou d'arrêt de l'alimentation.
Donc, de nos jours, c’est ACPI et son successeur, EFI, qui fait que quelque chose comme le BIOS est une nécessité pour les PC. Le concept général est que ACPI doit être l’interface entre la plate-forme ou la carte mère et le système d’exploitation. doivent être fabriqués pour chaque type de carte mère.
Les cartes de développement qui hébergent des processeurs ARM sous Linux (ainsi que du matériel pour téléphones cellulaires) présentent ce problème. Généralement, ils viennent avec un micrologiciel pour chargeur de démarrage tel que U-boot, mais le système d’exploitation doit prendre en charge chaque carte en tant que plate-forme distincte.