El software del BIOS está integrado en la PC y es el primer código que ejecuta una PC cuando se enciende ('firmware de arranque'). Cuando se inicia la PC, el primer trabajo para el BIOS es la autocomprobación de encendido, que inicializa e identifica dispositivos del sistema como la CPU, RAM, tarjeta de video, teclado y mouse, disco duro, unidad de disco óptico y otro hardware Luego, el BIOS localiza el software del cargador de arranque en un dispositivo periférico (designado como 'dispositivo de arranque'), como un disco duro o un CD / DVD, y carga y ejecuta ese software, dándole el control de la PC. [2] Este proceso se conoce como arranque o arranque, que es la abreviatura de bootstrapping.
¿Qué requisitos determinan que un sistema informático debe tener un BIOS instalado?
¿Por qué el sistema operativo no puede realmente hacer funcionar todo el BIOS?
Respuestas:
Un BIOS es una pieza de código dependiente del hardware almacenada en la propia placa base. Cada placa base diferente necesita un BIOS personalizado escrito para ello, por lo que sería imposible tener un BIOS / OS genérico todo en uno (aunque el BIOS es técnicamente solo un código almacenado, por lo que teóricamente podría escribir un sistema operativo para una placa base en particular) . Como mencionó, el propósito del BIOS es hacer lo siguiente:
Tenga en cuenta que aún puede iniciar una computadora sin ningún almacenamiento externo, razón por la cual el BIOS es un requisito para una computadora. En otros términos, el BIOS proporciona una interfaz de software común para permitir que un programa informático almacenado se comunique con varios dispositivos de hardware conectados a la placa base.
Por ejemplo, si tengo dos placas base diferentes con dos controladores SATA diferentes, el BIOS me permite escribir un código que puede funcionar con ambos, sin mi conocimiento de cómo la placa base envía comandos al dispositivo SATA. Solo tengo que decirle a la computadora "leer el sector X de este dispositivo SATA", y el BIOS es responsable de enviar esos comandos al hardware.
Donde realmente obtiene la información del "sector de lectura X" es un programa almacenado contenido en el BIOS, que generalmente dirige a la computadora a comenzar a leer desde un cargador de arranque almacenado en una ubicación común. Estas ubicaciones comunes son acordadas por varios desarrolladores de software y hardware, y generalmente se proporcionan al público para permitir una mayor compatibilidad entre sistemas.
Una vez que se establece un nivel básico de interfaz (una vez más, la interfaz lógica a través del software), el propio sistema operativo crea una interfaz común con sus diversos dispositivos de hardware (generalmente mediante el uso de "controladores de dispositivo"), y el sistema operativo puede controlar el hardware.
Finalmente, debe tenerse en cuenta que el BIOS también se usa para realizar modificaciones en las configuraciones de hardware de la computadora y almacenarlas en la EEPROM incorporada (para que su computadora recuerde los cambios la próxima vez que la inicie). Sin embargo, como dije anteriormente, una vez que se carga el sistema operativo, tiene el control total de la computadora.
Esto permite a los fabricantes de placas base desarrollar software que le permite realizar estos cambios desde su sistema operativo, en lugar de tener que reiniciar en el BIOS. Nuevamente, esto depende mucho del hardware y el software, pero demuestra que toda la interfaz de la computadora es relativa. El BIOS es exactamente lo que su nombre implica: un sistema básico de entrada / salida, para permitir una interfaz de software común para que un programa más avanzado ("sistema operativo") tome el control de la máquina.
fuente
Su sistema operativo está en su disco duro, si enciende su computadora, mágicamente no comenzará a leer desde ese disco duro. Es el BIOS el que carga el cargador de arranque desde el disco duro , además de realizar algunas pruebas y permitirle configurar ciertas configuraciones del BIOS.
Su sistema operativo no puede hacer eso porque está en el disco duro y no en su ROM.
Por lo tanto, necesita un BIOS o una tecnología similar (pero diferente) como EFI ...
Es posible colocar parte del sistema operativo en la ROM (responsable de cargar el gestor de arranque del sistema operativo) por el fabricante; sin embargo, esto no es ampliamente aplicable y hay un BIOS o EFI disponible de todos modos.
fuente
No hay razón lógica real. Es más una cuestión de legado e historia.
No hay requisito de que una computadora deba tener un BIOS instalado. Es legado de IBM PC. Aunque esto resultó ser una buena idea
Tener el sistema operativo haciendo eso realmente no cambiaría nada porque aún haría algo como lo hace el BIOS. Por supuesto, el sistema operativo debería estar en una ROM, no en un dispositivo de E / S. El problema puede surgir por problemas de monopolio cuando un generador de sistemas operativos decide hacer que su BIOS sea incompatible con otros sistemas operativos. Tener fabricantes de BIOS separados de los sistemas operativos mejora la libertad sobre qué software podría ejecutarse.
fuente
Se requiere algo para iniciar el sistema operativo. Si el sistema operativo podría caber en alguna memoria no volátil, entonces podría iniciarse directamente, pero con sistemas operativos con todas las funciones como Windows, OSX o Linux, esto no es posible.
Lo que se necesita es un pequeño "SO" liviano que se pueda cargar en el encendido que hace las cosas básicas como la memoria y el acceso al disco y luego carga el sistema operativo. Si bien esto podría ser parte del sistema operativo en sí y no una entidad separada, hay otras razones por las que es posible que desee que otro proceso comience primero:
El proceso se conoce como bootstrapping .
fuente
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.
fuente
En cierto sentido, tienes razón. El BIOS y el sistema operativo en parte hacen lo mismo. La separación en BIOS y OS es únicamente por flexibilidad.
El BIOS generalmente es creado por un fabricante de hardware. El hardware debe garantizar que exista una funcionalidad básica , por ejemplo, que se pueda leer una unidad de disco y que se muestre una pantalla básica para diagnósticos y errores. De ahí el nombre "Sistema básico de entrada y salida".
Esto se puede hacer, hasta cierto punto, sin mayor conocimiento de los componentes reales realmente presentes en el sistema específico, ya que todos tienen que soportar un cierto estándar pequeño de BIOS. Esto permite a los proveedores crear un sistema completo a medida. El BIOS solo tiene que hacer lo suficiente para iniciar el sistema operativo. Hay algunas convenciones sobre dónde están estos puntos de partida, por lo que solo intenta uno tras otro. Esto también permite el uso de diferentes sistemas operativos en el mismo hardware. (hay flexibilidad, de nuevo)
Una vez que el sistema operativo (o al menos su gestor de arranque) no es encontrado e iniciado por el BIOS, el BIOS mismo queda en gran parte obsoleto. El sistema operativo moderno utiliza muy poco o nada del BIOS funcionalmente después de la carga.
Si desea hacer que el sistema operativo haga todo el trabajo, tendría que colocar el sistema operativo en un lugar donde el hardware pueda acceder a él sin la ayuda preliminar de un software (ROM). Esto puede ser posible para algunos sistemas cerrados, donde la flexibilidad no es una preocupación. Si piensa en incorporar soporte de hardware en otro hardware, básicamente está creando una especie de BIOS nuevamente ...
Otra preocupación es el tamaño y el costo de la memoria. Los sistemas operativos con todas las funciones son grandes e intentar introducir un sistema operativo de varios gigabytes en la ROM es costoso, además de los problemas de seguimiento de parchearlo y actualizarlo.
Entonces, no, no hay una razón técnica, sino muchas prácticas, especialmente para la plataforma flexible de PC.
fuente
Para ejecutar un programa en una PC moderna, ya debe tener un programa en ejecución que sepa cómo operar el hardware y cargar programas en la memoria. Este problema de huevo y gallina se resuelve implantando un programa básico en el hardware mismo.
Este sistema básico de entrada / salida (BIOS) es muy pequeño y de alcance muy limitado, pero proporciona una base suficiente para que los cargadores de arranque de la segunda etapa, como GRUB o NTLDR , puedan cargarse y ejecutarse. Estos cargadores de segunda etapa son más sofisticados que el programa BIOS, lo que les permite proporcionar una base más sólida para el sistema operativo adecuado para cargar y asumir el control.
fuente
Si una CPU tiene la capacidad de direccionar un disco duro directamente, sin depender de BIOS, o EFI u otro código en ROM (o NVRAM o lo que tenga), entonces, en teoría, tal CPU podría cargar un sistema operativo desde el disco a la RAM y comenzar ejecutándolo
En realidad, en teoría, tal CPU podría incluso ejecutar instrucciones sin cargarlas en la RAM. No hay una razón teórica de que una computadora no pueda usar un disco duro como almacenamiento primario. Pero esto sería muy, muy lento.
Esto significaría tener un código adicional en la CPU para acceder al disco y conectar algunos conceptos sobre discos, como tablas de partición y sistemas de archivos en la CPU. Las CPU en estos días son lo suficientemente grandes como para hacer esto, pero no sería un enfoque muy flexible o eficiente para diseñar una CPU.
fuente
¡No lo necesita!
Lo que a menudo se llama BIOS es un conjunto de 3 cosas.
fuente