2010-03-29 15 views

Respuesta

16

El BIOS sigue siendo lo primero que se ejecuta en la CPU recién iniciada y es responsable de encender el hardware de la placa base, configurar los modos básicos de chipset y registros, inicializar algunos hardware y ejecutar el código que carga el kernel.

El BIOS por lo general no se utiliza una vez que se carga el kernel, y depende de un entorno de ejecución de 16 bits en comparación con el medio ambiente en modo protegido de 32 o de 64 bits que un kernel moderno opera en.

El El cargador de arranque normalmente requiere las llamadas BIOS IO para obtener el kernel en la memoria. El BIOS está siendo reemplazado incluso en este rol por un software de arranque más reciente como Coreboot para proporcionar tiempos de arranque más rápidos. EFI algún día reemplazará el BIOS tradicional, y con suerte el gestor de arranque, pasando el control directamente al kernel después de cargarlo desde el almacenamiento.

La configuración de hardware descubierta, la configuración del rango de memoria y las tablas de metadatos ACPI son probablemente los únicos datos basados ​​en BIOS utilizados por el sistema operativo después de cargar el kernel. Cualquier código ACPI ejecutable se codifica como lenguaje de máquina ACPI y el sistema operativo lo interpreta.

Cualquier buen libro tradicional en la programación de ensamblaje de MS-DOS incluirá información sobre la interfaz de programación del BIOS. Salida The Art of ASSEMBLY LANGUAGE PROGRAMMING

+2

Gran cantidad de código de BIOS también se ejecuta durante la administración de energía, al entrar y salir del modo de espera. (No forma parte explícita de ACPI, sino código incrustado en controladores SMI que se invoca durante los eventos ACPI.) –

1

El mayor beneficio de tener el control sobre el sistema operativo BIOS ahora es el control de las variables a nivel de hardware, tales como la velocidad del ventilador, medidores de temperatura, etc.

9

escribí BIOS para ordenadores portátiles durante varios años. El BIOS hace muchas cosas mientras el sistema operativo se está ejecutando.

Una tarea importante es informar al sistema operativo cuando suceden muchos eventos, por lo que el sistema operativo puede parecer inteligente (como si de alguna manera resolviera estas cosas por sí mismo). Por ejemplo, el BIOS le dice al sistema operativo cuándo: se presiona el botón de encendido, las baterías se insertan o quitan, la alimentación de CA entra o sale, el sistema se conecta o desconecta de una estación de acoplamiento, se insertan discos duros o ciertos tipos de unidades ópticas o eliminado

La mayoría de las computadoras portátiles tienen funciones a las que se puede acceder o controlar mediante las teclas Fn y las aplicaciones de nivel de sistema operativo proporcionadas por los fabricantes. El BIOS responde a estas teclas rápidas y tiene código para interactuar con las aplicaciones de nivel del sistema operativo. Las características como el control del brillo de la pantalla (que ciertos sistemas operativos desean aparecen en para controlar) o el control de los LED de bling entran en esta categoría.

Quizás la tarea más importante del BIOS es apagar el sistema cuando el botón de encendido se mantiene presionado durante más de 4 segundos (¡para recuperarse del bloqueo del sistema operativo!).

+0

Si todavía se utiliza esta práctica, ¿podría explicar cómo la ejecución ingresa al BIOS para comenzar? Parece imposible en los sistemas operativos modernos sin que el SO específicamente se tome la molestia de hacer llamadas al BIOS. –

+0

@R: comúnmente el SMI se usa para lograr esto. Consulte el Modo de administración del sistema (http://en.wikipedia.org/wiki/System_Management_Mode) para obtener más información. – Atempcode

Cuestiones relacionadas