lunes, 30 de mayo de 2011

FUNCIONES

El sistema BIOS de un PC estándar desempeña en realidad cuatro funciones independientes:
Proceso de carga inicial del software:

Hemos indicado que el hardware de un PC sin Sistema Operativo es como un ser humano en coma profundo; incapaz de realizar ninguna actividad útil. Pero entonces surge la pregunta: ¿Como se carga el software después que se ha conectado el suministro de energía, si no existe ningún programa capaz de hacer nada?.
Antes de explicar como resolvieron el problema los diseñadores del PC, permitidme un poco de historia. Igual que en la actualidad, a los ordenadores de hace unas décadas, una vez conectados había que cargarles el software. Como después de conectada, en la máquina no había ningún programa, había que introducirlo manualmente a través de la consola. En esos tiempos los ordenadores tenían una consola o panel frontal lleno de lucecitas e interruptores con los que manualmente se podían realizar determinadas operaciones; básicamente se reducían a poder reiniciar (resetear) los registros, examinar el contenido de cualquier posición de memoria, y colocar en ella cualquier dato o instrucción en binario. De esta forma se cargaba manualmente un pequeñísimo trozo de código, el "bootstrap", que una vez arrancado era capaz de dirigirse a un dispositivo. Por ejemplo, un lector de cinta perforada, en la que se iniciaba la carga de un programa más avanzado; el cargador binario ("Binary loader") que ya era capaz de aceptar algunas órdenes de consola y cargar a su vez cualquier otro software.

Programa de inventario y comprobación del hardware :
Una vez iniciado el programa contenido en la BIOS, su primera tarea consiste en un proceso de comprobación del hardware, denominado POST (Power-On Self Test). El desarrollo exacto depende del fabricante, pero la secuencia de comprobaciones puede resumirse como sigue:
Chequeo de registros del procesador
►Setear el temporizador 8253/8254 para refresco de RAM.
►Setear el acceso directo a memoria, DMA, para refresco de la RAM en el canal 0.
►Verificar que el refresco es operativo (los primeros PC's usaban RAM dinámica).
►Verificar la memoria RAM baja (0/16-64 KB).
►Cargar los vectores de interrupción y asignarles espacio en la zona de memoria baja
►Inicializar los dispositivos de video y teclado.
►Determinar el tamaño de la RAM adicional y comprobar su funcionamiento (el recuento que se ve en pantalla). Si llegado a este punto existiera algún error en la memoria se mostraría un mensaje de error (el dispositivo de video ya está operativo).
►Inicializar los puertos COM (comunicaciones serie), LPT (comunicaciones paralelo) y de juegos
►Inicializar, en su caso, el sistema de disquete.
►Inicializar el sistema de disco.
►Explorar el área de usuario de la ROM.
►Llamar el interruptor de bootstrap.

Inicialización de los dispositivos hardware que lo requieren; carga de cierto software básico, e inicio del Sistema Operativo :
carga de cierto software básico, e inicio del Sistema Operativo: se refiere a la preparación del hardware disponible (periféricos). Muchos de estos elementos precisan de la inicialización de registros, carga de parámetros y determinadas señales para ponerlos en orden de funcionamiento. No olvidar que algunos de ellos, son controladores programables, y parte del trabajo de la BIOS consiste precisamente en esta programación.

Soporte para ciertos dispositivos hardware del sistema:


Aparte de los procesos de verificación y carga descritos en páginas anteriores, la característica fundamental del BIOS, que además justifica su nombre de "Sistema Básico de Entrada Salida", es que en este firmware se encuentran las instrucciones necesarias para acceder a determinados servicios básicos del hardware (dispositivos de Entrada/Salida), entre los que se encuentran el teclado, la pantalla, los puertos serie y los controladores de disco. Estos trozos de código son accedidos a través de las direcciones contenidas en la tabla de vectores de interrupción . De forma que cualquier software que se cargue en el ordenador, puede saber en que dirección buscar para encontrar los servicios correspondientes.
En realidad, esta es la parte más original y trascendente del diseño del PC; lo que ha posibilitado la existencia de "Clónicos", y hace que un conjunto de piezas hardware sean un PC. Es también lo que hace que cualquier programa para tecnología Intel-PC corra en un PC, con independencia de como sean realmente las interioridades de su hardware. Desde este punto de vista, la BIOS representa un elemento unificador común a todos los PCs; todas estas máquinas presentan al exterior una misma interfaz (determinada por el BIOS). La filosofía de diseño que utilizaron los diseñadores de IBM fue, en palabras de Peter Norton "Deje que el BIOS lo haga, no se enrede con el control directo".
Cuando un programa necesita determinados recursos del hardware (lo que en último término viene a ser una entrada/salida), la BIOS representa una forma unificada de hacerlo; se pide a la BIOS el “servicio” de una forma estandarizada, de ahí el nombre: Sistema básico de Entradas/Salidas. En este sentido, el sistema de Entradas/Salidas del PC es un dispositivo virtual; se le interroga de una forma estándar y él se encarga de los detalles sucios del hardware. Observe que cuando se extiende este concepto, incluyendo no solo el sistema básico de E/S sino al procesador, se llega de forma natural a la máquina virtual de Java.
Aunque existen diversas versiones y fabricantes (la propia historia de la BIOS es muy interesante), su comportamiento externo está estandarizado. La BIOS es en realidad una caja negra, no importa como lo hace internamente. Lo importante es que al preguntarle de una forma estandarizada, produce el resultado deseado (aquí se llaman "Servicios"). Se han introducido pocos o ningún cambio básico desde su aparición con el primer PC, ya que en realidad, todas las mejoras del software se han aplicado a un nivel superior a esta capa básica, lo que ha hecho posible, entre otras cosas, cambiar de Sistema Operativo DOS, Windows o Linux (por ejemplo) sin necesidad de cambiar las BIOSes.

No hay comentarios:

Publicar un comentario