¿Qué hace mi BIOS después de arrancar?
Una vez que su computadora termina el proceso de arranque y está firmemente dentro del zumbido del sistema operativo, ¿queda algo para que lo haga la BIOS??
La sesión de Preguntas y Respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación impulsada por la comunidad de sitios web de preguntas y respuestas.
La pregunta
El lector SuperUser Indrek plantea esta pregunta relacionada con la BIOS:
Siempre me pregunté si el BIOS (aparte de realizar POST, iniciar el gestor de arranque y pasar el control al sistema operativo después de presionar el botón de encendido) tiene algún propósito o función mientras el sistema operativo está funcionando?
¿Se comunica el sistema operativo con la BIOS mientras se ejecuta y, de ser así, cómo??
¿En efecto? ¿Qué función tiene la BIOS además de su papel crítico en el inicio de la computadora??
Las respuestas
Cortesía del colaborador de SuperUser, Mechanical Snail, una descripción general de cómo el rol de la BIOS ha cambiado con el tiempo y lo que está y no está haciendo hoy:
El papel de la BIOS
Con los sistemas operativos modernos, prácticamente ninguno. Linus Torvalds dijo que su tarea es "simplemente cargar el sistema operativo y salir de allí".
Los sistemas operativos más antiguos, como MS-DOS, se basaron en el BIOS para muchas tareas (por ejemplo, acceso a disco), al llamar interrupciones.
Con los sistemas operativos modernos, el gestor de arranque cambia rápidamente al modo de 32 o 64 bits y ejecuta el kernel del sistema operativo. El kernel puede registrar sus propios controladores de interrupción, que pueden ser llamados por aplicaciones de espacio de usuario. Las rutinas del kernel pueden ser más portátiles (ya que no dependen del hardware específico), más flexibles (los proveedores de sistemas operativos pueden cambiarlas a pedido en lugar de tener que usar lo que venga con el hardware), más sofisticadas (pueden ejecutar complejos arbitrariamente) código en lugar de lo que estaba programado en el BIOS), y más seguro (ya que el sistema operativo puede controlar el acceso a los recursos compartidos y evitar que los programas se obstruyan entre sí, implementando sus propios esquemas de permisos arbitrarios).
Para interactuar con un hardware específico, los sistemas operativos pueden cargar y utilizar sus propios controladores de dispositivo. Por lo tanto, no es necesario que el sistema operativo o las aplicaciones llamen a la mayoría de las rutinas de BIOS. De hecho, por razones de seguridad, las interrupciones del BIOS están incluso deshabilitadas. Dado que la BIOS vive en modo real de 16 bits, es más difícil pedir sistemas operativos modernos.
Si bien el uso del BIOS es muy limitado mientras el sistema operativo se ejecuta, sus funciones aún se utilizan de forma periférica. Por ejemplo, cuando una computadora está inactiva, el sistema operativo no se está ejecutando y, en última instancia, recurre al firmware para configurar el hardware en el estado correcto para pausar y reanudar el sistema operativo. Estos usos generalmente se limitan a llamadas ACPI en lugar de llamadas a la interfaz completa del BIOS. ACPI es una extensión de BIOS que "pone a la administración de energía bajo el control del sistema operativo (OSPM), a diferencia del anterior sistema central de BIOS, que se basó en un firmware específico de la plataforma para determinar la política de configuración y administración de energía".
Tenga en cuenta que oficialmente "BIOS" se refiere a una interfaz de firmware particular, pero el término se usa comúnmente para referirse a firmware de computadora en general. Algunas computadoras recientes (especialmente las de Apple) han reemplazado BIOS (sensu strictu) con UEFI, que por supuesto es lo que se llama para implementar estas funciones..
Para obtener más información sobre cómo ha disminuido el papel de la BIOS a lo largo del tiempo, consulte Wikipedia..
Otro colaborador del Superusuario, Simon Richter, nos da una visión general de las cosas que el BIOS todavía hace:
El BIOS y la administración de energía
El BIOS proporciona una serie de servicios a los sistemas operativos, la mayoría de los cuales están relacionados con la administración de energía:
- Modificar la CPU y los relojes del bus.
- habilitar / deshabilitar dispositivos de placa base
- control de potencia del puerto de expansión
- suspender en disco y suspender en RAM
- reanudar la configuración del evento
La suspensión al disco se implementa en el sistema operativo la mayoría de las veces, ya que el sistema operativo puede restaurar su estado más rápido (solo se recarga el estado del kernel y el estado del programa se intercambia cuando es necesario, lo que es significativamente más rápido que recargar la RAM completa), pero la característica permanece en la especificación.
La suspensión a RAM no puede ser implementada por el sistema operativo, ya que se basa en que el BIOS omita la prueba y la inicialización de la memoria RAM, por lo que el sistema operativo necesita una API para indicar al BIOS que pretende reanudarse con el contenido actual de la memoria RAM. Para proporcionar este servicio, el BIOS solicita al sistema operativo que deje intacta cierta área de RAM.
La interfaz del sistema operativo para todos los servicios de BIOS es una pieza de código de máquina virtual que debe ejecutarse en un emulador y que genera las operaciones de E / S necesarias en el hardware. Para suspender, esto generalmente se implementa para que la ejecución de una de las escrituras de hardware desencadene una interrupción, que transfiere el control al BIOS..
¿Tienes algo que agregar a la explicación? Apague el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a la discusión completa aquí.