¿Cuáles son las funciones del BIOS mientras se ejecuta el sistema operativo?

78

Siempre me pregunté si el BIOS (además 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á en funcionamiento.

¿El sistema operativo se comunica con el BIOS mientras se ejecuta y, de ser así, cómo?

JohnnyFromBF
fuente

Respuestas:

72

Con sistemas operativos modernos, prácticamente ninguno . Según los informes, 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, dependían del BIOS para muchas tareas (por ejemplo, acceso al disco), al llamar a las interrupciones.

Con los sistemas operativos modernos, el gestor de arranque cambia rápidamente al modo de 32 o 64 bits y ejecuta el núcleo del sistema operativo. El kernel puede registrar sus propios manejadores de interrupciones, a los que pueden llamar las aplicaciones de espacio de usuario. Las rutinas del núcleo pueden ser más portátiles (ya que no dependen del hardware específico), más flexibles (los proveedores de sistemas operativos pueden cambiarlas bajo demanda en lugar de tener que usar lo que viene con el hardware), más sofisticadas (pueden ejecutarse arbitrariamente complejas código en lugar de lo que se programó 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 golpeen entre sí, implementando sus propios esquemas de permisos arbitrarios).

Para interactuar con hardware específico, los sistemas operativos pueden cargar y usar 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 están incluso deshabilitadas. Dado que el BIOS vive en modo real de 16 bits, es más difícil solicitar sistemas operativos modernos.

Si bien el uso del BIOS es muy limitado mientras se ejecuta el sistema operativo, sus funciones aún 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 establecer 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 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 BIOS (sensu strictlyu) con UEFI , que por supuesto es lo que se llama para implementar estas funciones.

Para obtener más información sobre cómo la función del BIOS ha disminuido con el tiempo, consulte Wikipedia .

Caracol mecánico
fuente
15
Hay una interacción mínima a través del reloj del sistema (hora del día).
MSalters
77
¿Estás realmente seguro de esto? ¿Qué pasa con los controles del ventilador, el modo de administración del sistema ya mencionado, el ACPI completo, que por ejemplo controla la velocidad del procesador?
Alexander
32
Podría intentarlo y soldar el chip BIOS mientras la máquina está funcionando.
JohnnyFromBF
55
@ Ian, ¿por qué hacerlo difícil para ti? Encuentra un tablero más antiguo con una BIOS enchufada y simplemente tira del chip. Alternativamente, IIRC algunas placas de overclocker recientes todavía tienen un interruptor de hardware para permitirle cambiar entre dos BIOS. Botch un destello de la imagen B, arranque a A, cambie a B cuando se ejecuta.
Dan Neely
17
@ Ian, he hecho eso. Perdí energía al actualizar un BIOS, no se inició después de eso. Teníamos 20 máquinas con exactamente el mismo hardware y estaban envejeciendo ... Así que encendí una, quité el chip BOIS, enchufé la atornillada y parpadeé. Ambos chips BOIS funcionaron perfectamente bien después de eso. De acuerdo, era DOS, ejecutándose para software flash. Todavía impresionante, creo. (Las placas tenían la marca Gigabyte, Pentium 4 compatible hasta donde recuerdo)
Ekin Koc
32

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:

  • modificando la CPU y los relojes del bus
  • habilitar / deshabilitar dispositivos de placa base
  • control de potencia del puerto de expansión
  • suspender a disco y suspender a RAM
  • reanudar la configuración del evento

Suspender a 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 kernel y el estado del programa se intercambia cuando es necesario, que 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 suspender la suspensión de RAM, ya que depende de que el BIOS omita la inicialización y la prueba de RAM, por lo que el sistema operativo necesita una API para decirle al BIOS que tiene la intención de reanudarse con el contenido actual de RAM. Para proporcionar este servicio, el BIOS le pide al sistema operativo que deje intacta cierta área de RAM.

La interfaz para el 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 suspender, esto generalmente se implementa de modo que la ejecución de una de las escrituras de hardware desencadena una interrupción, que transfiere el control al BIOS.

Simon Richter
fuente
17

Hay tres áreas principales donde un sistema operativo usa el BIOS en sistemas modernos, como los que usan el estándar UEFI. El primero es una serie de servicios conocidos como servicios de tiempo de ejecución UEFI. Estos servicios permiten al sistema operativo obtener información que solo el BIOS conoce, como el tiempo que el BIOS estaba usando, el orden de arranque, el perfil de seguridad del usuario actual, la información sobre la placa base, 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 usan esto para implementar características OEM de alta seguridad o para implementar soluciones alternativas de hardware.

El tercero es ACPI. ACPI proporciona datos y código de configuración, administración de energía y hardware utilizados por el sistema operativo para aumentar lo que los controladores del sistema operativo pueden encontrar utilizando un controlador de dispositivo o estándar de la industria. Por ejemplo, ¿hay una señal especial para controlar la potencia del disco duro o hay una forma especial de hablar con la batería que no está cubierta por un estándar?

Tim

Tim Lewis
fuente
9

Los sistemas operativos modernos usan el BIOS principalmente para cargar solo, pero todavía hay algunos usos que incluyen, en particular:

  • Reaccionando al botón de encendido (Apague la PC después de 4 segundos
    incluidos).
  • Cambiar la configuración de brillo de la pantalla en las computadoras portátiles
  • Eventos de batería en computadoras portátiles
  • Suspensión
bluehallu
fuente
Pensé que el brillo se había hecho alterando los valores de color justo antes del dibujo.
Cole Johnson
3
@ColeJohnson: No: en Thinkpads, al menos, en realidad cambia el brillo de la luz de fondo.
Caracol mecánico
1
El brillo es una señal modulada por ancho de pulso controlada por hardware, que enciende y apaga el LED blanco brillante a alta frecuencia. Esta luz es uno de los principales consumidores de la batería
1

Además de lo que se ha señalado anteriormente, Intel está comenzando a girar hacia otro lado y construir más al proporcionar acceso fuera de banda al hardware a través de la tecnología de gestión activa integrada en la BIOS y la placa base que se puede controlar independientemente del sistema operativo. Con estos tableros, puedes hacer bastante. Si lo considera incorporado o un segundo sistema operativo es otra cosa, pero como tiene hardware a bordo y componentes en la BIOS, me quedo con incorporado.

intels marketing guff

Mate
fuente