Vous êtes sur la page 1sur 5

IIPEI 09/10

______________________________________________________________________

BIOS

3.8 BIOS
Borja Brisson Vega, Jonn Cruz Martn

En este trabajo exploraremos qu es la BIOS de un computador


y qu funciones realiza. Veremos cul es el papel de la BIOS en
el arranque del sistema y el manejo del hardware. Tambin
estudiaremos las tecnologas de implementacin de la BIOS, su
configuracin, y los errores que pueden producirse en el
sistema.
1. Introduccin
La BIOS es una parte bsica de un computador compuesta por un chip que
almacena configuracin esencial del computador y software para manejar el hardware
del computador. La BIOS es la encargada de arrancar y comprobar el sistema, as como
de mantener la configuracin esencial del hardware para el correcto funcionamiento y
uso del sistema.
Una vez realizada la comprobacin y configuracin del hardware, la BIOS
tambin se ocupa de buscar el cargador de arranque en un disco de arranque, que es
lo que permite cargar el sistema operativo. La configuracin de la BIOS es de vital
importancia, y alberga informacin sobre los discos de arranque, entre otras cosas.
2. Conceptos bsicos sobre la BIOS
La BIOS (Basic Input/Output System) consiste en un conjunto de instrucciones
software de bajo nivel responsables del funcionamiento de los perifricos de un
sistema informtico. Estas rutinas tambin reciben el nombre de drivers.
Cuando naci la BIOS, todos los drivers del sistema se encontraban en una ROM
(memoria no voltil de slo lectura) situada en la placa base y que era capaz de
albergar en 128KB, adems de todos los drivers, las rutinas del POST y el cargador del
bootstrap. El POST (Power-on Self-test) se trata de un programa responsable de
comprobar los dispositivos en el arranque de la mquina. El cargador del bootstrap
est diseado para cargar el sistema operativo desde disco. Este programa se busca y
carga desde el primer sector de cada disco de arranque.
El propsito principal de la BIOS es servir de interfaz entre el sistema operativo
y el hardware del sistema. Para ello, la BIOS proporciona una interfaz estndar para el
uso de los dispositivos. La BIOS permite una abstraccin del sistema operativo
respecto a la mquina donde se ejecuta, permitiendo as una generalizacin del
software sin independencia del hardware. Esto es debido al diseo de software en
capas, en el que una capa inferior suministra servicios a la capa superior sin conocer
sta los detalles de la capa inferior. Para ello, el sistema operativo dispone de un
sistema de interrupciones software que permite conectar las peticiones de uso de
perifricos con las rutinas de servicio que proporciona la BIOS. Este sistema no es ms
que un vector de interrupciones donde cada entrada contiene el comienzo de su rutina
correspondiente.
Para poder efectuar este papel la BIOS ha de cargar en memoria (RAM) todas
las rutinas precargadas en la ROM junto con el sistema operativo, haciendo uso para
ello del cargador del bootstrap. Esta carga en memoria RAM se hace, entre otras cosas,
por su mayor capacidad y velocidad de acceso.

IIPEI 09/10
______________________________________________________________________

BIOS

En la evolucin de la informtica se vio reflejada la escasez de memoria de la


ROM, ya que el nmero de dispositivos aumentaba y comenzaba la tendencia de
sustitucin de mdulos, por lo que llev a la necesidad de permitir a la BIOS agregar
nuevos drivers y actualizar los ya existentes. Para ello se introdujo la carga de drivers
mediante adaptadores de tarjeta (slots) y mediante disco. En este nuevo diseo hay
que diferenciar los drivers segn su importancia, es decir, normalmente los drivers que
no sean estrictamente necesarios durante el arranque sern cargados desde disco. Por
ejemplo, el driver del disco debe de estar contenida en la ROM de la placa para poder
continuar con el arranque (con el arranque del SO, entre otras cosas).
Aunque ahora la BIOS se divida en tres fuentes, contina teniendo su
significado como entidad. La porcin de BIOS contenida en ROM (placa base y slots) se
conoce como firmware.
Otras de las tendencias dentro de la BIOS ha sido el sustituir todos los drivers
de 16 bits del inicio por drivers de 32 64 bits procedentes de disco cargado a travs
del sistema operativo (los de 16 bits permanecen en la ROM y son sustituidos por el
sistema operativo).
3. Arranque de la mquina
Al iniciar el proceso de arranque el chipset inicia la BIOS la cual ejecuta el POST
analizando todos los dispositivos del sistema. Una vez analizados la BIOS escanea los
dispositivos en la bsqueda de adaptadores de tarjetas contenedoras de sus propios
drivers, una vez localizadas son cargadas en memoria. Tras la deteccin de los drivers
externos la BIOS carga sus rutinas precargadas y se dispone a cargar el sistema
operativo mediante el bootstrap. Una vez cargado el sistema operativo por completo
este realizar las operaciones que crea conveniente, como puede ser la carga de
drivers especficos, o la sustitucin de la rutinas de 16-bit iniciales por otras de 32 o 64bits.
4. Implementacin y carga de la BIOS
1. Tecnologa de la BIOS
A lo largo de la historia se ha utilizado diferentes tecnologas en el
almacenamiento de la BIOS, todas relacionadas con la arquitectura ROM.
ROM: Derivado de la arquitectura RAM con las peculiaridades de no
ser voltil y que los datos almacenados no se puede modificar, al
menos no de manera rpida o fcil.
PROM: Memoria programable mediante el quemado de sus fusibles,
siendo esta irreversible.
EPROM: Memoria programable mediante voltajes altos respecto a
los utilizados. Tiene la propiedad de ser borrado mediante la
exposicin a luz ultravioleta
EEPROM: Es un tipo de memoria ROM que puede ser programado,
borrado y reprogramado elctricamente, a diferencia de la EPROM.
2. Mtodos de carga de la BIOS
La BIOS puede cargarse a travs de tres fuentes:
1. ROM de la placa base: Se encarga de cargar los drivers
fundamentales para el arranque del sistema. Un ejemplo de estos es

IIPEI 09/10
______________________________________________________________________

BIOS

el driver de disco, ya que sin l no puede acceder al bootstrap del


sistema operativo, entre otras cosas.
2. Slots: Durante el inicio del arranque la BIOS escanea todos los slots
buscando aquellos que contengan una ROM en su placa, donde
almacenan su driver, y una vez localizados esta los carga en
memoria. Estos drivers se consideran importantes para el arranque
del sistema con los contenidos en la ROM de la placa madre, un
posible caso es el driver grfico.
3. Disco: Carga en memoria todos los drivers restantes tras la carga del
sistema operativo. Este mtodo contiene todos los drivers no
estrictamente necesarios para el arranque del sistema, como puede
ser los drivers de la tarjeta de sonido o de la tarjeta network.
5. Actualizacin de la BIOS
Existen diferentes mtodos para actualizar la BIOS
Sustituir completamente el dispositivo de almacenamiento de la BIOS, por una
nueva BIOS almacenada en una nueva memoria ROM. ste es el caso de las
memorias ROM y PROM.
En el caso de las memorias EPROM, se reprograma el contenido de la memoria tras
borrarlo con luz ultravioleta. Para esto es necesario extraer el chip.
Para la actualizacin de la BIOS de una memoria EEPROM no es absolutamente
necesaria la extraccin de sta, ya que se puede actualizar con la simple ejecucin
del programa de actualizacin que podemos bajarnos de la pgina del distribuidor,
por ejemplo. La seguridad de la escritura suele estar formado actualmente por un
encriptado especfico para cada BIOS y/o un interruptor fsico que controla la
escritura en la BIOS. Aunque esto es lo que habitual actualmente, hace algn
tiempo, la actualizacin de estas memorias se realizaba mediante un disquete que
contena la actualizacin. Para esta actualizacin se sola conectar el disquete o Cd
a la Flash ROM.
6. Configuracin de la BIOS
La BIOS necesita guardar cierta informacin sobre el hardware del sistema y
cmo manejar dicho hardware, as como informacin sobre cmo arrancar el sistema e
informacin de seguridad.
La configuracin de la BIOS contiene particularmente informacin sobre el
hardware, tal como los tipos de dispositivos, su frecuencia o velocidad de operacin,
su capacidad de almacenamiento, etc.; y permite modificar estos valores.
Para permitir la modificacin de la configuracin de la BIOS, existe un programa
de configuracin (BIOS setup program) que se puede iniciar presionando una tecla
durante el POST.
Dado que existe una gran variedad de opciones de configuracin, stas estn
organizadas en el programa de configuracin mediante mens y submens que
agrupan opciones de caractersticas similares.
Todas las BIOS presentan secciones comunes en su programa de configuracin.
Sin embargo, existen algunas opciones que son especficas de cada sistema, y que
varan fundamentalmente en funcin del chipset.

IIPEI 09/10
______________________________________________________________________

BIOS

Veamos ahora los mens y opciones ms relevantes y que son comunes a todos los
sistemas:
Maintenance: Permite borrar la configuracin de la BIOS y muestra informacin
de la CPU.
Main: Muestra informacin del sistema (versin de la BIOS, tipo y velocidad de
CPU, cantidad de memoria). Permite configurar el Hyper-Threading y la
correccin de errores de memoria, junto con el idioma del programa de
configuracin y la fecha y hora del sistema.
Advanced: Establece opciones avanzadas especficas del chipset. Permite
configurar prioridades de interrupcin y velocidades de operacin para los
buses. Configura las seales y frecuencias de la memoria. Ofrece funciones de
overclocking y burn-in test. Configura los puertos de E/S y la comunicacin ATA
y USB.
Security: Establece contraseas y qu tipo de acceso a la BIOS tiene un usuario.
Power: Configura la gestin de la energa y la suspensin del sistema, y eventos
para despertar de suspensin.
Boot: Configura los dispositivos y el orden de arranque para arrancar un
sistema operativo.
Exit: Permite salir del programa de configuracin y guardar los cambios hechos.
Permite guardar la configuracin como default y restaurar la configuracin
por defecto.
7. BIOS Plug and Play
En el pasado, instalar y configurar dispositivos en un PC requera configurar la
tarjeta de expansin para seleccionar una lnea de interrupcin, un puerto de
entrada/salida y un canal de DMA. Esto sola hacerse moviendo jumpers en la tarjeta
de expansin, y para ello haba que conocer los recursos libres en el sistema. Si se
seleccionaba un recurso que ya estuviera en uso, haba un conflicto y el sistema no
arrancaba.
La tecnologa Plug and Play (PnP) est diseada para evitar estas
complicaciones y los posibles errores de conflicto debidos a una configuracin
incorrecta. La tecnologa PnP tiene tres componentes principales:
1. BIOS con soporte PnP (Plug and Play BIOS)
2. Informacin de configuracin del sistema (Extended System Configuration Data,
ESCD)
3. Sistema operativo con soporte PnP
La BIOS PnP inicia la configuracin de las tarjetas PnP cuando se arranca el
sistema. Para evitar repetir este proceso de deteccin y configuracin con cada
arranque, la BIOS guarda la informacin de configuracin de las tarjetas en el rea de
ESCD (rea de la memoria CMOS de la BIOS).
La prxima vez que se arranque el sistema, si el hardware no ha cambiado, se usar la
informacin del ESCD para configurar el sistema, en lugar de esta reasignando los
recursos nuevamente.

IIPEI 09/10
______________________________________________________________________

BIOS

Para ms informacin sobre ESCD, consltese [2].


Si en el siguiente arranque el hardware ha cambiado, la BIOS consultar el rea
de ESCD en busca de la configuracin adecuada para las nuevas tarjetas, pero no la
encontrar. La BIOS consultar qu recursos estn libres y qu recursos son necesarios
para la nueva tarjeta, y realizar la configuracin pertinente.
Si la BIOS es incapaz de localizar suficientes recursos disponibles, las rutinas de PnP del
sistema operativo completan la tarea.
Para ms informacin sobre BIOS PnP y dispositivos PnP, consltese [1].
8. Mensajes de error de la BIOS
Al encender la mquina, la BIOS lleva a cabo un proceso de comprobacin del
hardware (POST) y tambin se encarga de arrancar el sistema, dando paso a la carga
del sistema operativo. Durante este proceso, pueden ocurrir diversidad de errores que
habrn de ser notificados. Por ello, se han identificado los posibles errores y se les ha
asignado un cdigo de error a cada uno.
La BIOS puede notificar un error de diferentes maneras. Usualmente lo ms
cmodo ser mostrar un mensaje por pantalla. Sin embargo, si el error se ha
producido antes de poder inicializar la tarjeta de vdeo, la BIOS tendr que informar de
dicho error de alguna otra manera.
Cuando no se puede mostrar un mensaje por pantalla, la BIOS opta por
reproducir un cdigo sonoro que identifica el tipo de error. Este cdigo sonoro
consiste en una serie de pitidos de diferente duracin y con un intervalo de separacin
temporal entre cada pitido.
La otra forma que tiene la BIOS de notificar un error es almacenando el cdigo
de error en el puerto de entrada/salida que se encuentra en la direccin 80h. Este
cdigo de error se puede leer con unas tarjetas especiales (POST cards) que leen el
cdigo de error del puerto 80h y muestran dicho cdigo en un display. Estas tarjetas se
conectan a algn slot de un bus.
Este tipo de comprobaciones a veces tambin se llaman manufacturing tests, porque
este mtodo fue pensado originalmente para detectar errores en la fabricacin
durante el proceso de ensamblado del sistema, donde no se dispone de una pantalla
para visualizar errores.
9. Conclusiones
Las ideas bsicas sobre las que ha de prestar mayor atencin es la compresin
de la BIOS como entidad, no como un dispositivo fsico, si no como todas aquellas
partes, fsicas o lgicas , las cuales permitan la funcin de esta. Adems es muy
importante entender la importancia de la BIOS respecto a la generalizacin del sistema
mediante la abstraccin del hardware. Tambin es de destacar el funcionamiento y
caractersticas del Plug&Play como la deteccin de perifricos y la posterior
configuracin de la BIOS.
Bibliografa
[1] Scott Mueller. Upgrading and Repairing PCs. Que Publishing, 2007.
[2] Charles M. Kozierok. Extended System Configuration Data (ESCD). The PC Guide, 17 de
abril de 2001. http://www.pcguide.com/ref/mbsys/res/pnpESCD-c.html