Siempre me pregunté si el BIOS (aparte de realizar la 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 se está ejecutando.
¿El sistema operativo se comunica con el BIOS mientras se ejecuta? Si es así, ¿cómo?
Respuesta1
Con los sistemas operativos modernos,prácticamente ninguno. Según se informa, Linus Torvalds dijo que su tarea es "simplemente cargar el sistema operativo y largarse de allí".
Los sistemas operativos más antiguos, como MS-DOS, dependían del BIOS para muchas tareas (por ejemplo, acceso al disco), mediante interrupciones.
En 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 interrupciones, a los que pueden llamar las aplicaciones del 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 según demanda en lugar de tener que usar lo que viene con el hardware), más sofisticadas (pueden ejecutar tareas arbitrariamente complejas). código en lugar de lo que fue programado en el BIOS), y más seguro (ya que el sistema operativo puede controlar el acceso a recursos compartidos y evitar que los programas se golpeen entre sí, implementando sus propios esquemas de permisos arbitrarios).
Para interactuar con 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 del BIOS. De hecho, por razones de seguridad, las interrupciones del BIOS incluso están deshabilitadas. Dado que el BIOS funciona en modo real de 16 bits, es más difícil recurrir a sistemas operativos modernos.
Si bien el uso del BIOS es muy limitado mientras se ejecuta el sistema operativo, sus funciones todavía se utilizan de forma periférica.Por ejemplo, cuando una computadora duerme, el sistema operativo no se está ejecutando y, en última instancia, corresponde al firmware configurar el hardware en el estado correcto para pausar y reanudar el sistema operativo. Estos usos generalmente se limitan aACPIllamadas en lugar de llamadas a la interfaz BIOS completa. ACPI es una extensión de BIOS que"pone la administración de energía bajo el control del sistema operativo (OSPM), a diferencia del sistema central BIOS anterior, que dependía del firmware específico de la plataforma para determinar la administración de energía y la política de configuración".
Tenga en cuenta que oficialmente "BIOS" se refiere a una interfaz de firmware particular, pero el término se usa comúnmente para referirse al firmware de la computadora en general. Algunas computadoras recientes (especialmente las de Apple) han reemplazado el BIOS (en sentido estricto) conUEFI, que por supuesto entonces es lo que se llama implementar estas funciones.
Para obtener más información sobre cómo la función del BIOS ha disminuido con el tiempo, consulteWikipedia.
Respuesta2
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:
- Modificación de los relojes de la CPU y del bus.
- habilitar/deshabilitar dispositivos de la placa base
- control de potencia del puerto de expansión
- suspensión a disco y suspensión a RAM
- reanudar la configuración del evento
La suspensión en disco se implementa en el sistema operativo la mayor parte del tiempo, ya que el sistema operativo puede restaurar su estado más rápido (solo se recarga el estado del núcleo y se intercambia el estado del programa cuando es necesario, lo cual es significativamente más rápido que recargar toda la RAM), pero la característica permanece en la especificación.
El sistema operativo no puede implementar la suspensión a RAM, ya que depende de que el BIOS omita la inicialización y la prueba de la RAM, por lo que el sistema operativo necesita una API para indicarle al BIOS que pretende reanudarse con el contenido actual de la RAM. Para proporcionar este servicio, el BIOS le pide al sistema operativo que deje intacta una determinada área de RAM.
La interfaz del sistema operativo para todos los servicios del 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 la suspensión, esto generalmente se implementa de modo que la ejecución de una de las escrituras de hardware active una interrupción, que transfiere el control al BIOS.
Respuesta3
Hay tres áreas principales en las que un sistema operativo utiliza el BIOS en los sistemas modernos, como los que utilizan el estándar UEFI. El primero es una serie de servicios conocidos como servicios de tiempo de ejecución UEFI. Estos servicios permiten que el sistema operativo obtenga información que solo el BIOS conoce, como la hora en que se usó el BIOS, el orden de inicio, el perfil de seguridad del usuario actual, la información sobre la placa base, los DIMM, etc.
El segundo es el modo de administración del sistema, que es una sección oculta de la memoria (SMRAM) a la que se accede mediante una interrupción de alta prioridad (SMM). Muchos BIOS utilizan esto para implementar funciones OEM de alta seguridad o para implementar soluciones alternativas de hardware.
El tercero es ACPI. ACPI proporciona configuración, administración de energía y datos y códigos de hardware utilizados por el sistema operativo para aumentar lo que los controladores del sistema operativo pueden descubrir utilizando un controlador de dispositivo o estándar de la industria. Por ejemplo, ¿existe una señal especial para controlar la energía del disco duro o existe una forma especial de hablar con la batería que no está cubierta por un estándar?
Timo
Respuesta4
Además de lo que se ha señalado anteriormente, Intel está empezando a girar en otra dirección y a incorporar más al proporcionar acceso fuera de banda al hardware a través deTecnología de gestión activaintegrado en la BIOS y la placa base que se puede controlar independientemente del sistema operativo. Con estas tablas puedes hacer bastante. Ya sea que lo consideres incorporado o un segundo sistema operativo es otra cosa, pero como tiene hardware integrado y componentes en la BIOS, me quedo con el incorporado.