BIOS

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 12:32 7 ene 2016 por CEM-bot (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
BIOS
(Basic Input/Output System)
Información
Tipo estándar de facto
Fabricante
Clases
Estandarización
Uso arranque
Cronología
BIOS
(Basic Input/Output System)
Extensible Firmware Interface

El Basic Input/Output System (BIOS) o sistema básico de entrada/salida, en computadoras IBM PC compatibles, también conocido como “System BIOS”, “ROM BIOS”[1]​ o “PC BIOS”, es un estándar de facto que define la interfaz de firmware.[2]​ El nombre se originó en 1975, en el Basic Input/Output System usado por el sistema operativo CP/M.[3][4]

El software BIOS es instalado dentro de la computadora personal (PC), y es el primer programa que se ejecuta cuando se enciende la computadora.

El propósito fundamental del BIOS es iniciar y probar el hardware del sistema y cargar un gestor de arranque o un sistema operativo de un dispositivo de almacenamiento de datos. Además, el BIOS provee una capa de abstracción para el hardware, por ejemplo, que consiste en una vía para los programas de aplicaciones y los sistemas operativos interactúen con el teclado, el monitor y otros dispositivos de entrada/salida. Las variaciones que ocurren en el hardware del sistema quedan ocultos por el BIOS, ya que los programas usan servicios de BIOS en lugar de acceder directamente al hardware. Los sistemas operativos modernos ignoran la capa de abstracción provista por el BIOS y acceden al hardware directamente.

El BIOS de la IBM PC/XT original no tenía interfaz con el usuario interactiva. Los mensajes de error eran mostrados en la pantalla, o codificados por medio de una serie de sonidos. Las opciones en la PC y el XT se establecían por medio de interruptores y jumpers en la placa base y en las placas de los periféricos. Las modernas computadoras compatibles Wintel proveen una rutina de configuración, accesible al iniciar el sistema mediante una secuencia de teclas específica. El usuario puede configurar las opciones del sistema usando el teclado y el monitor.

El software del BIOS es almacenado en un circuito integrado de memoria ROM no-volátil en la placa base. Está específicamente diseñado para trabajar con cada modelo de computadora en particular, interconectando con diversos dispositivos que componen el conjunto de chips complementarios del sistema. En computadores modernos, el BIOS está almacenado en una memoria flash, por lo que su contenido puede ser reescrito sin remover el circuito integrado de la placa base. Esto permite que el BIOS sea fácil de actualizar para agregar nuevas características o corregir errores, pero puede hacer que la computadora sea vulnerable a los rootkit de BIOS.

El MS-DOS (PC DOS), el cual fue el sistema operativo de PC dominante desde principios de la década de 1980 hasta mediados de la década de 1990, dependía de los servicios del BIOS para las funciones de disco, teclado y visualización de textos. Windows NT, Linux y otros sistemas operativos de modo protegido en general no lo usan luego de cargarse.

La tecnología de BIOS está en un proceso de transición hacia el Unified Extensible Firmware Interface (UEFI) desde el año 2010.[5]

Historia

El acrónimo "BIOS" fue inventado por Gary Kildall[6]​ y apareció por primera vez en 1975 en el sistema operativo CP/M[3][4][7][8]​ describiendo la parte específica de la máquina del CP/M cargado durante el arranque que interactúa directamente con el hardware[4]​ (por lo general, una máquina de CP/M solo tiene un simple arranque en su ROM.)

Las versiones de MS-DOS o PC DOS contienen un archivo denominado bajo alguno de los siguientes nombres: "IO.SYS", "IBMBIO.COM", "IBMBIO.SYS", o "DRBIOS.SYS"; este archivo se conoce como el "BIOS DOS" (también conocido como "Sistema I/O DOS") y contiene la parte de hardware específico de bajo nivel del sistema operativo. Junto con el hardware específico, pero independiente del sistema operativo "BIOS del sistema" subyacente, que reside en la memoria ROM, este representa el análogo al CP/M BIOS.

En otros tipos de computadoras, se emplean en su lugar, los términos "monitor de arranque", "gestor de arranque", y "ROM de arranque". Algunos equipos basados en PowerPC y Sun utilizan Open Firmware para este propósito.

Con la introducción de las máquinas PS/2, IBM dividió el sistema BIOS en porciones en modo real y modo protegido. La porción de modo real estaba destinada a proporcionar retrocompatibilidad con los sistemas operativos como DOS, y por lo tanto fue nombrado "CBIOS" (para compatibilidad del BIOS), mientras que el "ABIOS" (por Advanced BIOS) proporcionaba nuevas interfaces adaptadas específicamente para sistemas operativos multitarea como OS/2.

Hay algunas alternativas a la funcionalidad de la "Legacy BIOS" en el mundo x86: Extensible Firmware Interface, Open Firmware (usado en la OLPC XO-1), y Coreboot.

Funcionamiento

Cuando se reinicia el procesador x86, se carga el contador de programa con una dirección fija en la parte superior del espacio de direccionamiento en modo real de 1 megabyte. La dirección de la memoria de la BIOS está situado de tal manera que se ejecutará cuando el equipo se pone en marcha primero. Entonces, una instrucción de salto dirige el procesador para iniciar la ejecución de código en la BIOS. Si el sistema acaba de ser encendido o el botón de reinicio fue presionado ("arranque en frío"), se ejecuta completamente la autoprueba de encendido (POST). Si se inició Ctrl+Alt+Supr ("arranque en caliente"), se detecte un valor de indicador especial en la memoria no volátil (NVRAM) y el BIOS no se ejecuta el POST. Esto ahorra el tiempo utilizado de otra manera para detectar y probar toda la memoria. La NVRAM está en el reloj en tiempo real (RTC).

El indicador de pruebas de autodiagnóstico, identifica e inicializa los dispositivos del sistema, como la CPU, la RAM, interruptores y controladores DMA y otras partes del chipset, tarjeta de vídeo, teclado, unidad de disco duro, unidad de disco óptico y otro hardware básico. La BIOS localiza el software gestor de arranque celebrada en un dispositivo almacenamiento designado como "dispositivo de arranque", tal como un disco duro, un disquete, CD o DVD, carga y ejecuta ese software, dándole el control del PC. Este proceso se conoce como arranque o booteo, que es la abreviatura de "bootstrapping".

Actualización

Para una referencia de placa base el fabricante puede publicar varias revisiones del BIOS, en las cuales se solucionan problemas detectados en los primeros lotes, se codifican mejores controladores o se da soporte a nuevos procesadores.

La actualización de este firmware puede ser realizado con algún programa para quemar una nueva versión directamente desde el sistema operativo, los programas son propietarios de cada compañía desarrolladora del firmware y por lo general pueden conseguirse en internet junto al BIOS propiamente dicho.

La actualización del BIOS es percibida como no exenta de riesgos, dado que un fallo en el procedimiento conduce a que la placa base no arranque. Debido a ello algunos fabricantes usan sistemas como el bootblock, que es una porción de BIOS que está protegida y que no es actualizable como el resto del firmware.

Overclocking

Algunos chips de BIOS permiten el overclocking, una acción en el que la CPU se ajusta a una velocidad de reloj más alta que su ajuste de fábrica. El overclocking puede, sin embargo, comprometer seriamente la confiabilidad del sistema en computadoras insuficientemente refrigeradas y por lo general reduce la vida útil de los componentes. El overclocking, si se realiza incorrectamente, también puede hacer que los componentes se sobrecalienten tan rápidamente que se autodestruyan al instante.

Firmware en tarjetas adaptadoras

Un sistema puede contener diversos chips con firmware BIOS además del que existe en la placa base: tarjetas de vídeo, de red y otras cargan trozos de código en la memoria (con ayuda de la BIOS principal) que permite el funcionamiento de esos dispositivos.

La BIOS de video es visible como un integrado separado.

Tarjetas de vídeo

A diferencia de otros componentes del sistema, la tarjeta de vídeo debe funcionar desde el arranque inicial, mucho antes de que cualquier sistema operativo esté siendo cargado en la memoria RAM: en los sistemas con vídeo integrado, la BIOS de la placa base contiene las rutinas necesarias para hacer funcionar el vídeo de la placa.

Los primeros ordenadores (que no poseían vídeo integrado) tenían BIOS capaces de controlar cualquier tarjeta adaptadora MDA y CGA. En 1984 cuando aparecieron sistemas nuevos como el EGA fue necesario agregar una BIOS de vídeo para mantener la compatibilidad con esos sistemas que no tenían las rutinas de manejo para el nuevo estándar; desde esa época las tarjetas de vídeo incluyen un firmware propio.

El BIOS de estas adaptadoras provee herramientas básicas para manejar el hardware de vídeo que ofrece la tarjeta. Cuando el computador inicia, algunas de esas tarjetas muestran en pantalla la marca de la misma, el modelo y la versión del firmware además del tamaño de la memoria de vídeo.

El mercado de los BIOS

La gran mayoría de los proveedores de placas base de arquitectura x86 delegan a terceros la producción de los BIOS. Los fabricantes suelen escribir y publicar actualizaciones del firmware en las cuales se corrigen problemas o se da compatibilidad a nuevos productos.

Los principales proveedores de BIOS son American Megatrends (AMI) y Phoenix Technologies (que compró Award Software International en 1998).

Existen proyectos de BIOS bajo el esquema de software libre, como Coreboot, que ofrecen firmware alternativos para unas pocas referencias de placas base.

Referencias

  1. ROM: Read Only Memory, Memoria de Sólo Lectura.
  2. The PC Guide - System BIOS.
  3. a b Kildall, Gary A. (junio de 1975), CP/M 1.1 or 1.2 BIOS and BDOS for Lawrence Livermore Laboratories, «An excerpt of the BDOS.PLM file header in the PL/M source code of CP/M 1.1 or CP/M 1.2 for Lawrence Livermore Laboratories (LLL):
    [...]
    /* C P / M   B A S I C   I / O    S Y S T E M    (B I O S)
                        COPYRIGHT (C) GARY A. KILDALL
                                 JUNE, 1975                   */
    [...]
    /*  B A S I C   D I S K    O P E R A T I N G   S Y S T E M  (B D O S)
                        COPYRIGHT (C) GARY A. KILDALL
                                JUNE, 1975                          */
    [...]
    »
     .
  4. a b c Kildall, Gary A. (enero de 1980). «The History of CP/M, THE EVOLUTION OF AN INDUSTRY: ONE PERSON'S VIEWPOINT» (Vol. 5, No. 1, Number 41 edición). Dr. Dobb's Journal of Computer Calisthenics & Orthodontia. pp. 6-7. Consultado el 3 de junio de 2013. «[...] The first commercial licensing of CP/M took place in 1975 with contracts between Digital Systems and Omron of America for use in their intelligent terminal, and with Lawrence Livermore Laboratories where CP/M was used to monitor programs in the Octopus network. Little attention was paid to CP/M for about a year. In my spare time, I worked to improve overall facilities [...] By this time, CP/M had been adapted for four different controllers. [...] In 1976, Glenn Ewing approached me with a problem: Imsai, Incorporated, for whom Glenn consulted, had shipped a large number of disk subsystems with a promise that an operating system would follow. I was somewhat reluctant to adapt CP/M to yet another controller, and thus the notion of a separated Basic I/O System (BIOS) evolved. In principle, the hardware dependent portions of CP/M were concentrated in the BIOS, thus allowing Glenn, or anyone else, to adapt CP/M to the Imsai equipment. Imsai was subsequently licensed to distribute CP/M version 1.3 which eventually evolved into an operating system called IMDOS. [...]». 
  5. Bradley, Tony. «R.I.P. Bios: A Uefi Primer». PCWorld. Consultado el 27 de enero de 2014. 
  6. ">Swaine, Michael (1 de abril de 1997). «Gary Kildall and Collegial Entrepreneurship». Dr. Dobb's Journal (en inglés). Consultado el 20 de noviembre de 2006. 
  7. A. Joseph "Joe", Killian (2001). «Gary Kildall's CP/M: Some early CP/M history - 1976-1977» (en inglés). Thomas "Todd" Fischer, IMSAI. Consultado el 3 de junio de 2013. «[...] When we failed to produce an operating system in a timely manner, Glenn started talking with Gary about CPM, which Gary had written for Intel under contract. It took several months of twisting Gary's arm to get Gary to port it to the 8080. The final success came when Glenn talked Gary into just separating the I/O from the rest of it, with Glenn promising to re-write the I/O module for the IMSAI 8080 (which he did). So CPM on the IMSAI was a joint effort between Glenn and Gary. [...]». 
  8. Fraley, Bob; Spicer, Dag (26 de enero de 2007). «Oral History of Joseph Killian, Interviewed by: Bob Fraley, Edited by: Dag Spicer, Recorded: January 26, 2007, Mountain View, California, CHM Reference number: X3879.2007,» (en inglés). Computer History Museum. Consultado el 3 de junio de 2013. «Killian: "[...] Intel had hired him a few months earlier to write a control program monitor to run on their little demo system for 8008 and now 8080. [...] Glenn knew this and he would be talking with Gary, and he started twisting Gary's arm. He said, "Hey Gary, why can't we run this in this IMSAI?" "The I/O's all different, won't run." But Glenn persists and finally makes a deal with Gary. He says, "Okay Gary, if you split out the I/O, I'll write the BIOS, basic I/O's system," and Glenn named it then. "We'll split it out separately. I'll write that part, as long as you can make a division in the program there." And he got Gary to do that and Glenn put those two pieces together and was running Gary's CP/M on an IMSAI. Glenn let us know that, and it wasn't too much later than Bill was down there making arrangements with Gary Kildall to license CP/M. [...] Now that the BIOS is separated out, anybody could write a BIOS for their machine, if it was 8080-based, and run this, so he started selling that separately under the company Digital Research that he formed and did quite well."». 

Véase también

Enlaces externos