El BIOS (Sigla en inglés de basic input/output system; en español "Sistema básico de entrada y salida") es un software que localiza y reconoce todos los dispositivos necesarios para cargar el sistema operativo en la memoria RAM; es un software muy básico instalado en la placa base que permite que ésta cumpla su cometido. Proporciona la comunicación de bajo nivel, el funcionamiento y configuración del hardware del sistema que, como mínimo, maneja el teclado y proporciona una salida básica (emitiendo pitidos normalizados por el altavoz de la computadora si se producen fallos) durante el arranque. El BIOS usualmente está escrito en lenguaje ensamblador.
El primer uso del término "BIOS" se dio en el sistema operativo CP/M, y describe la parte de CP/M que se ejecutaba durante el arranque y que iba unida directamente al hardware (las máquinas de CP/M usualmente tenían un simple cargador arrancable en la memoria de sólo lectura, y nada más). La mayoría de las versiones de MS-DOS tienen un archivo llamado "IBMBIO.COM" o "IO.SYS" que es análogo al BIOS de CP/M.
El BIOS es un sistema básico de entrada/salida que normalmente pasa inadvertido para el usuario final de computadoras. Se encarga de encontrar el sistema operativo y cargarlo en la memoria RAM. Posee un componente de hardware y otro de software; este último brinda una interfaz generalmente de texto que permite configurar varias opciones del hardware instalado en el PC, como por ejemplo el reloj, o desde qué dispositivos de almacenamiento iniciará el sistema operativo (Microsoft Windows, GNU/Linux, Mac OS X, etc.).
El BIOS gestiona al menos el teclado de la computadora, proporcionando incluso una salida bastante básica en forma de sonidos por el altavoz incorporado en la placa base cuando hay algún error, como por ejemplo un dispositivo que falla o debería ser conectado. Estos mensajes de error son utilizados por los técnicos para encontrar soluciones al momento de armar o reparar un equipo.
El BIOS antiguamente residia en memorias ROM o EPROM pero desde mediados de los 90 comenzó a utilizarse memorias flash que podían ser actualizadas por el usuario. Es un programa tipo firmware. El BIOS es una parte esencial del hardware que es totalmente configurable y es donde se controlan los procesos del flujo de información en el bus del ordenador, entre el sistema operativo y los demás periféricos. También incluye la configuración de aspectos importantes de la máquina.
Un sistema puede contener diversos chips con firmware BIOS. Además del BIOS de arranque situado en la unidad de almacenamiento secundario y la placa base.
Entrando a la BIOS
El BIOS tenía funciones básicas de entrada/salida para el teclado, el pantalla, la impresora, el puerto de comunicaciones RS-232, el manejo de las unidades de diskette y la interface para cassettes, entre otras. Adicionalmente habían rutinas que respondían a interrupciones de dispositivos del hardware. Había también una función para llamar al BASIC en ROM.
El BIOS tenía funciones básicas de entrada/salida para el teclado, el pantalla, la impresora, el puerto de comunicaciones RS-232, el manejo de las unidades de diskette y la interface para cassettes, entre otras. Adicionalmente habían rutinas que respondían a interrupciones de dispositivos del hardware. Había también una función para llamar al BASIC en ROM.
Funciones
Las funciones del BIOS se accesaban invocando interrupciones por software para el CPU del IBM PC, el Intel 8088. Esto hacía que el CPU generara una interrupción y fuera llamada la función del BIOS a la que apuntaba el vector de interrupción correspondiente. Los parámetros a la función se pasan por medio los registros internos del CPU (AX, BX, CX, DX, etc), y en caso de que una función tuviera que retornar algún valor, también lo hacía mediante los registros del procesador.
La siguiente es una lista de las funciones del BIOS. (Los números de las funciones están en hexadecimal, y representan el número de interrupción que se necesita llamar por software desde un programa):
10 - I/O para el video
11 - Determinación del hardware opcional instalado
12 - Determinación de la cantidad de memoria RAM
13 - I/O para la unidad de diskette
14 - I/O para el puerto serial RS-232
15 - I/O para la unidad de cassette
16 - I/O para el teclado
17 - I/O para la impresora
18 - Ejecuta al IBM PC ROM BASIC
19 - Boot Strap Loader
1A - Retorna o ajusta la hora
Interrupciones generadas por el hardware
El BIOS también respondía a algunas interrupciones de hardware, generadas por dispositivos como el teclado, el temporizador, y el controlador de la unidad de diskette. Las señales de los dispositivos llegaban el controlador de interrupciones Intel 8259.
08 - Time of day (18,2 veces por segundo), generado por el canal 0 del timer 8253. Usado para poder mantener la hora del día.
09 - Interrupción del teclado. Generado por el teclado al presionar o soltar cada tecla
0A - No usado
0B - No usado
0C - No usado. Reservada para comunicaciones (RS-232)
0D - No usado
0E - Generado por el controlador de unidades de diskettes
0F - No usado. Reservada para la impresora
En computadores posteriores al IBM PC se fueron agregando más dispositivos de hardware que generaban interrupciones.
INTERRUPCIONES GENERADAS POR LA BIOS
El BIOS generaba las siguientes interrupciones:
1B - CTRL-BREAK. Generado cada vez que se ejecutaba la secuencia CTRL + BREAK en el teclado.
1C - Timer Tick (18,2 veces por segundo). Generada cada vez que el BIOS recibía la interrupción 08.
Estas interrupciones inicialmente son respondidas por el propio BIOS con una instrucción IRET (Interrupt Return), (Retorno de Interrupción), y se retornaba inmediatamente sin hacer nada. Un programa podía hacer que estas interrupciones apuntaran a rutinas internas y así poder procesarlas para determinados propósitos.
MANEJO BÁSICO DE LA BIOS
La BIOS viene en ingles y observemos que existen varios apartados comunes a todas las bios:
1.- Configuracion basica, llamado "Standard setup":
Se suele poner el dia, la fecha y la hora del sistema, asi como la configuracion del disco duro y disqueteras, los campos a rellenar pueden ser:
• Tipo
• Tamaño
• Cilindros
• Cabezas
• Precompresion de escritura
• Sectores
• Modo de funcionamiento
Opciones de la BIOS, llamado "Advanced setup":
Son las caracteristicas que podemos habilitar y deshabilitar, como:
• External cache
• Quick power on self test
• Swap floppy drive
• Boot up numlock status
• Gate azo option
Configuracion avanzada y del chipset, "Chipset feactures setup":
Son parametros que indican que caracteristicas del chipset deben habilitarse y como afecta a la memoria RAM, a los caches y al microprocesador, como:
• Autoconfiguracion
• Isa bus clock
• Velocidad de la RAM
• Ajustes de cache
• Video y system cacheable
• Manejo de dispositivos
Y a otros dispositivos como los puertos en serie y paralelos.
Perifericos integrados: La BIOS tiene diversos apartados para manejar estos dispositivos, entre ellos:
• Conexión o desconexión de dichos controladores
• Modos de acceso a discos duros
• Direcciones e interrupciones
• Tipo de puerto paralelo
• Control de puerto de infrarojos
Administración de energia: Se configuran las caracteristicas del ordenador:
• Power management
• PM control by APM
• Video off method
• PM timers
• PM events
Configuración de PNP y slots PCI: Son una tecnología que facilita la conexión de dispositivos, ya que se supone que basta con enchufar y listo:
• PNP os install
• Regoureis controlled by
• PCI IDE IRQ map to
• Assing IRQ to USB
Autoconfiguración de la BIOS: Son los drives opciones uqe se proporcionan para facilitar la configuracion de la BIOS, de las cuales las mas comunes son:
• Load BIOS default
• Load system default
• Load turbo default
Otras utilidades: La BIOS puede hacer todavia más cosas, algunas de las más usuales están a continuación:
Autodetección de discos duros IDE: Esta opción permite detectar los discos duros que están conectados al sistema, asi como su configuración:
• Control de password
• Formateo de disco duro a bajo nivel
• Antivirus
Salir de la BIOS:
• Save and exit setup: Guarda cambios y se reinicia la PC.
• Exit without saving: Sale del BIOS sin guardar cambios.
Actualizar la BIOS: Con el flash-bios actualiza la BIOS y la operación no debe de ser interrumpida.
La BIOS y la pila: La pila conserva los datos de la BIOS cuando el ordenador esta apagado pero al final se agota.
Como saltarse la password de la BIOS: Se tiene que borrar la BIOS entera:
• Por software tipo "Hacker": Destroza la BIOS.
• Mediante un jumper en la placa base.
• Desconectando la pila.
TABLAS
El BIOS tiene diferentes tablas y áreas de datos, necesarias para poder realizar sus funciones. Algunos vectores de interrupción son usados para apuntar a estas tablas:
1D - Tabla con parámetros de inicialización para el controlador de video.
1E - Tabla con parámetros para la unidad de diskett.
1F - Tabla con los patrones de bits de los primeros 128 caracteres ASCII Extendido para usarse para desplegar texto y caracteres en los modos gráficos de la tarjeta CGA.
Nótese que este no es el uso habitual de los vectores de interrupción. Un vector de interrupción normalmente apunta a una sección de código, no a tablas con datos. Una llamada errónea a estas interrupciones generaría que el computador se estrellara, pues se tratarían de ejecutar los datos de las tablas como si fueran código.
TABLA DE GRAFICOS PARA LA GENERACIÓN DE CARACTERES
El vector de interrupción 1F, apunta a una dirección dentro del BIOS donde se encuentra una tabla usada para la generación de caracteres en los modos gráficos.
Cerca del final del ROM del BIOS, había una tabla que se usaba, por las funciones de video del BIOS, para la generación de caracteres en los modos gráficos. Esta tabla contenía los patrones de bits de los primeros 128 caracteres del código ASCII extendido del IBM PC, y era usada para generar el texto, dígitos, símbolos, y caracteres especiales, en los modos gráficos de la tarjeta de video CGA (para las sus modos gráficos de 320x200 y 640x200). Estos 128 caracteres correspondían a los del código ASCII estándar, pero mientras que los caracteres del 0 al 31 del ASCII son caracteres de control no imprimibles, en esta tabla, IBM había aprovechado esos códigos del 0 al 31 para usarlos para generar caracteres y símbolos gráficos especiales, que a diferencia del ASCII normal, sí generaban una imagen.
En la tabla del BIOS no estaban representados los patrones de bits para los caracteres del 128 al 255 del ASCII extendido de IBM, así que en los modos gráficos no podían desplegarse esos caracteres mediante el BIOS. En los modos de texto sí se generaban porque ellos estaban definidos en una ROM interna en cada una de las tarjetas de video, CGA y MDA, que contenía los patrones de bits de todos los 256 caracteres del ASCII extendido.
AREA DE DATOS DE BIOS
El IBM ROM BIOS tenía un área de datos en RAM que iba desde 0040:0000 hasta 0040:00FF. Donde se encontraban el estado y otros datos sobre dispositivos del sistema y era usada por las funciones del BIOS para poder realizar sus tareas. En esa área de datos se encontraba lo siguiente:
• Datos de configuración del hardware: Contenía las direcciones de hasta 4 puertos seriales y 4 puertos paralelos, información del hardware y cantidad de memoria RAM instalados, y cierta información del estado de inicialización.
• Datos del Teclado: Contenía el buffer del teclado (16 caracteres), el estado de varias teclas como ambas teclas de CTRL y ALT, las teclas INS, NumLook, CapsLook, etc, y un byte para almacenar el caracter generado con un código de 3 dígitos usando ALT + teclado numérico
• Datos del Diskette: Contenía el estado de la unidad de diskette y de su controlador
• Datos del Video: Contenía información de estado de la tarjeta de video activa
• Datos del Cassette: Contenía información de estado de la unidad de cassette
• Datos del Timer: Contenía un contador de Ticks, (que ocurría 18,2 veces por segundo), desde que el computador se encendía. Servía para determinar cual era la hora del día.
• Datos del Sistema: Contenía información que indicaba si se había hecho un CTRL+BREAK y si se estaba reseteando la máquina (con CTRL+ALT+DEL).Simuladores de BIOS
- AMI: El uso de este los usuarios de simulación puede obtener una mejor comprensión acerca de cómo navegar, cambiar los valores, y manipular la BIOS AMI. Para Descargarlo
- ARWARD: Es capaz de tener numerosas opciones disponibles que se muestran para ayudar a personalizar y optimizar su computadora. Para Descargarlo
- PHOENIX: La BIOS Phoenix es una configuración de la BIOS muy intuitivo y es bastante fácil de navegar. Para navegar por el BIOS Phoenix, el usuario utiliza las teclas de flecha arriba y abajo para desplazarse por la pantalla actual en que están.Para Descargarlo
No hay comentarios:
Publicar un comentario