El concepto PC BIOS deriva de CP / M, un sistema operativo popular en las computadoras basadas en el bus Z-80 "S-100" de 8 bits antes de que la PC de IBM se hiciera cargo.
CP / M esperaba que las funciones dependientes del hardware estuvieran en una ROM (BIOS). Otra parte, cargada del disco por el gestor de arranque, era el software que soportaba el sistema de archivos CP / M (BDOS) y luego el último procesador de comando o "shell" (CCP). El hardware que CP / M debía soportar no era mucho: una unidad de disco, una pantalla, un puerto serie o dos (puertos COM o AUX) que podrían tener impresoras o módems conectados.
El BIOS de la PC realizó una función básica de arranque similar a la que hizo CP / M, y DOS utilizó las funciones del BIOS para realizar entradas y salidas básicas, como se esperaba. Los programadores terminaron pasando por alto estas funciones porque eran lentas. Esto llevó a los fabricantes de clones de PC a mediados de los años 80 a recrear la plataforma en su conjunto (tan fácil como IBM documentó la PC original muy bien por dentro y por fuera), en lugar de simplemente proporcionar un BIOS con interfaces compatibles, aunque también tenían que hacerlo.
En este punto, podemos decir que, para un sistema operativo moderno, el BIOS no es realmente necesario más allá del arranque del sistema. Sin embargo ...
Comenzando a principios de los 90, la noción de administración de energía se apoderó y el BIOS se encargó de esto. APM funciona bien con un sistema operativo de una sola tarea como DOS, pero no con sistemas operativos multitarea como Windows o Linux. Alrededor de este tiempo, el 386 estaba en plena vigencia, la CPU Intel que soportaba la multitarea real. DOS y el BIOS no se actualizaron en respuesta a las nuevas capacidades de esta CPU, principalmente porque todas las CPU Intel todavía se ejecutarán en el modo de compatibilidad heredado de 16 bits para el que se diseñó el PC-BIOS original. Por lo tanto, los sistemas operativos modernos ignoran / omiten toda la funcionalidad de entrada / salida similar a CP / M del BIOS, excepto posiblemente durante las primeras etapas de arranque.
Finalmente, se desarrolló ACPI, en su mayoría parte de la BIOS, que admitía la administración de energía y la configuración de cosas (a menudo portátiles) específicas de la plataforma. ACPI también maneja el estado final de cambio de energía de hibernación, suspensión o apagado.
Así que en estos días es ACPI y su sucesor, EFI, que mantiene algo como el BIOS una necesidad de las PC. El concepto general es que ACPI sea la interfaz entre la plataforma de cosas o la placa base específica y el sistema operativo, por lo que una compilación separada del sistema operativo no tiene que estar hecho para cada tipo diferente de placa base.
Las placas de desarrollo que albergan CPU ARM que ejecutan Linux (así como hardware de teléfonos celulares) tienen este problema. Por lo general, vendrán con un firmware solo para el gestor de arranque, como U-boot, pero prácticamente el sistema operativo debe admitir cada placa como una plataforma separada.