BIOS Definition

A BIOS (basic input output system) is a small program that controls a personal computer's hardware from the time the computer is started until the main operating system (e.g., Linux, Mac OS X or MS-DOS) takes over.

When a computer is turned on, the BIOS first conducts a basic hardware check, called a power on self test (POST), to determine whether all of the hardware devices are present and functioning. It then loads the operating system into the computer's main memory, which is composed of RAM (random access memory) chips.

The BIOS is also used after the computer has booted (i.e., started up). It acts as an intermediary between the CPU (central processing unit) and the input and output devices. This eliminates the need for the operating system and application programs to be aware of the details (e.g., hardware addresses) of the input and output devices. And when device details change, only the BIOS needs to be updated. These changes can be made by a user by entering the BIOS configuration mode when the computer first starts up (which is usually accomplished by pressing a specified key as soon as the computer begins to start up).

The BIOS is stored in its own special memory chip, which is mounted on the motherboard (i.e., the main circuit board on the computer). This is in contrast to the main operating system, which is usually stored on the hard disk drive (HDD) (or sometimes a CDROM, floppy disk or other media). The BIOS cannot be stored on a HDD or other device because it manages those devices.

Until around 1990, BIOSs were stored in simple ROM (read-only memory) chips, whose contents could not be altered. However, because of their complexity and the occasional need for updates, the ROMS were replaced with EEPROM (electrically erasable programmable ROM) or flash memory chips, whose contents can be rewritten by the user. In contrast to RAM chips, these chips retain their contents even in the absence of a power supply.

The BIOS is usually written in the assembly language of the CPU used in that computer. An assembly language is a human-readable notation for the machine language for a specific processor; machine language (also called machine code) is a very basic programming language that provides instructions that can be read directly by a processor.

Most modern BIOSs permit the user to select the order in which the system searches for bootable media (i.e., for the device or media that contains an operating system). Thus, although the operating system has usually (but not always) been installed on the HDD, the user can choose to have the BIOS first attempt to boot from a CDROM if it finds a disk in the CDROM drive, from a floppy disk if it finds a disk in the floppy drive, or from a USB (universal serial bus) key drive if it finds a USB key drive in a USB socket. This is particularly useful for booting an operating system without having to install it on the HDD, such as for testing a new operating system or for forensic purposes.

The term BIOS first appeared in the CP/M (Control Program for Microcomputers) operating system, which was written by Gary Kildall of Digital Research in the 1970s1. In addition to standing for basic input output system, this acronym is also a play on the Greek word bios, which means life, as it is the program which breathes life into a computer. Moreover, it could additionally stand for built-in operating system, as the BIOS is built into the computer, in contrast with the main operating system, which is relatively easy to remove or replace.

1CP/M became the first operating system for microcomputers in general use. It resembles MS-DOS, which is not surprising, as MS-DOS started out as a copy of CP/M.

Created March 27, 2006.
Copyright © 2006 The Linux Information Project. All Rights Reserved.