BIOS

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
BIOS: Basic Input/Output System
Phoenix bios.jpg
Phoenix AwardBIOS CMOS (memoria no volátil)
Almacenado en:
Fabricantes comunes:

En computadoras IBM PC compatibles, el Basic Input/Output System (BIOS), también conocido como System BIOS, ROM BIOS o PC BIOS, es un estándar de facto que define un firmware de interfaz.[1] El nombre se originó en el Basic Input/Output System usado en el sistema operativo CP/M en 1975.[2] [3] El software BIOS es instalado dentro de la PC, y es el primer programa que se ejecuta cuando se enciende la computadora.

El propósito fundamental del BIOS es inicializar y probar el hardware del sistema y cargar un bootloader o un sistema operativo de un dispositivo de almacenamiento de datos. En adición, el BIOS provee una capa de abstracción para el hardware, p.e. 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 interface con el usuario interactiva. Lo 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 madre 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 madre. 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 madre. 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. El MS 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.[4]

Historia[editar]

El acrónimo BIOS (-Basic Input/Output System-) fue inventado por Gary Kildall[5] y apareció por primera vez, en 1975, en el sistema operativo CP/M [2] [3] [6] [7] describiendo la parte específica de la máquina del CP/M cargado durante el arranque que interactúa directamente con el hardware.[3] (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 hardware específico de 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[editar]

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[editar]

Para una referencia de tarjeta madre 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 tarjeta madre 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[editar]

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.

Firmware en tarjetas adaptadoras[editar]

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 vídeo es visible como un integrado separado

Tarjetas de vídeo[editar]

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[editar]

La gran mayoría de los proveedores de placas madre de arquitectura x86 delega a terceros la producción del 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 tarjetas madre.

Referencias[editar]

  1. The PC Guide - System BIOS
  2. a b Kildall, Gary A. (June 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                          */
    [...]
    
    » 
  3. a b c Kildall, Gary A. (January 1980). «The History of CP/M, THE EVOLUTION OF AN INDUSTRY: ONE PERSON'S VIEWPOINT» págs. 6–7. Dr. Dobb's Journal of Computer Calisthenics & Orthodontia. Consultado el 2013-06-03. «[...] 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. [...]».
  4. Bradley, Tony. «R.I.P. Bios: A Uefi Primer». PCWorld. Consultado el 2014-01-27.
  5. ">Swaine, Michael (1 de abril de 1997). «Gary Kildall and Collegial Entrepreneurship» (en inglés). Dr. Dobb's Journal. http://www.ddj.com/184410428. Consultado el 20 de noviembre de 2006. 
  6. 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. [...]».
  7. «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 (26 de enero de 2007). 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[editar]

Enlaces externos[editar]