BIOS

(Redirected from Basic Input-Output System)

'BIOS' (pronounced ), in computing, stands for 'Basic Input/Output System'.[1] [2]
The term is incorrectly known as 'Binary Input/Output System', 'Basic Integrated Operating System' and occasionally 'Built In Operating System' for example in Neal Stephenson's novel Snow Crash[1].
BIOS refers to the firmware code run by an IBM compatible PC when first powered on. The primary function of the BIOS is to prepare the machine so other software programs stored on various media (such as hard drives, floppies, and CDs) can load, execute, and assume control of the PC[3]. This process is known as booting up.
BIOS can also be said to be a coded program embedded on a chip that recognizes and controls various devices that make up the PC. The term BIOS is specific to personal computer vendors. Among other classes of computers, the generic terms ''boot monitor'', ''boot loader'' or ''boot ROM'' are commonly used. Boot is short for bootstrapping.
The term first appeared in the CP/M operating system, describing the part of CP/M loaded during boot time that interfaced directly with the hardware (CP/M machines usually had a simple boot loader in ROM, and nothing else). Most versions of DOS have a file called "IBMBIO.COM" or "IO.SYS" that is analogous to the CP/M disk BIOS.

Contents
How the BIOS boots
The BIOS Chip and BIOS Recovery
Firmware on adapter cards
The BIOS boot specification
The Rise and Fall of the BIOS
The BIOS business
List of BIOS suppliers
See also
Sources
External links
Notes and References

How the BIOS boots


# Layer
0 Hardware
1 System BIOS
2 Operating system
3 Application

The BIOS runs off the PROM, EPROM or, most commonly, flash memory when the computer is powered on. It initializes several motherboard components and peripherals, including:

★ the clock generator,

★ the processors and caches,

★ the chipset (memory controller and I/O controller),

★ the system memory,

★ all PCI devices (by assigning bus numbers and resources),

★ the primary graphics controller,

★ mass storage controllers (such as SATA and IDE controllers),

★ various I/O controllers (such keyboard/mouse and USB).
Finally, it loads the boot loader for the operating system, and transfers control to it. The entire process is known as Power-on self-test (POST). On the original IBM PC, the hardware only needed minimal configuration and POST was indeed used for testing; on modern systems, most of POST actually consists of hardware configuration.
Once system memory is initialized, the BIOS typically copies/decompresses itself into that memory and keeps executing from it.
Nearly all BIOS implementations can optionally execute a setup program interfacing the nonvolatile BIOS memory (CMOS). This memory holds user-customizable configuration data (time, date, hard drive details, etc.) accessed by BIOS code. The 80x86 source code for early PC and AT BIOS was included with the IBM Technical Reference Manual.
In most modern BIOS implementations, users select which device boots first: CD, hard disk, floppy disk, flash keydrive and the like. This is particularly useful for installing operating systems or booting to Live CDs, and for selecting the order of testing for the presence of bootable media.
Some BIOS's allow the user to select the operating system to load (e.g. load another OS from the second hard disk), though this is more often handled by a second-stage boot loader.

The BIOS Chip and BIOS Recovery


ROM with BIOS

Before 1990 or so BIOSes were held on ROM chips that could not be altered. As its complexity and need for updates grew, BIOS firmware was subsequently stored on EEPROM or flash memory devices. The first flash chips attached to the ISA bus. Starting in 1998, the BIOS flash moved to the LPC bus, a functional replacement for ISA, following a new standard implementation known as "firmware hub" (FWH). In 2006, the first systems supporting a Serial Peripheral Interface (SPI) appeared, and the BIOS flash moved again.
EEPROM chips are advantageous because they can easily be updated by the user; hardware manufacturers frequently issue BIOS updates to upgrade their products, improve compatibility and remove bugs. However, the risk is that an improperly executed or aborted BIOS update can render the computer or device unusable. To recover from BIOS corruption, some new motherboards have a backup BIOS (i.e. they are referred to as "Dual BIOS" boards, Gigabyte even offers a motherboard with quad BIOS). Also, most BIOSes have a "boot block" which is a portion of the ROM that runs first and is not updateable. This code will verify that the rest of the BIOS is intact (via checksum, hash, etc.) before transferring control to it. If the boot block detects that the main BIOS is corrupted, then it will typically initiate a recovery process, by booting to a removable device (floppy, CD or USB memory) so that the user can try flashing again.
Due to the limitation on the number of times that flash memory can be flashed, a flash-based BIOS is vulnerable to "flash-burn" viruses that repeatedly write to the flash, permanently corrupting the chip. Such attacks can be prevented by some form of write-protection, the ultimate protection being the replacement of the flash memory with a true ROM.

Firmware on adapter cards


A computer system can contain several BIOS firmware chips. The motherboard BIOS typically contains code to access fundamental hardware components such as the keyboard, floppy drives, ATA (IDE) hard disk controllers, USB human interface devices, and storage devices. In addition, plug-in adapter cards such as SCSI, RAID, Network interface cards, and video boards often include their own BIOS, complementing or replacing the system BIOS code for the given component.
In some devices that can be used by add-in adapters and actually directly integrated on the motherboard, the add-in ROM may also be stored as separate code on the main BIOS flash chip. It may then be possible to upgrade this "add-in" BIOS (sometimes called an option ROM) separately from the main BIOS code.
Add-in cards usually only require such an add-in BIOS if they:

★ Need to be used prior to the time that the operating system loads (e.g. they may be used as part of the process which loads (bootstraps) the operating system), and:

★ Are not sufficiently simple, or generic in operation to be handled by the main BIOS directly
Older operating systems such as DOS, as well as bootloaders, may continue to make use of the BIOS to handle input and output. However, most modern operating systems will interact with hardware devices directly by using their own device drivers to directly access the hardware. Occasionally these add-in BIOSs are still called by modern operating systems, in order to carry out specific tasks such as preliminary device initialization.
To find these memory mapped expansion ROMs during boot, PC BIOS implementations scan real memory from 0xC8000 to 0xF0000 on 2 kibibyte boundaries looking for a 0x55 0xaa signature, which is immediately followed by a byte indicating the number of 512 byte blocks the expansion ROM occupies in real memory. The BIOS then jumps to the offset immediately after the size byte, at which point the expansion ROM code takes over and uses BIOS services to provide a user configuration interface, register interrupt vectors for use by post-boot applications, or display diagnostic information.
For UNIX and Windows/DOS systems there is a utility with which BIOS firmware software can be dumped at http://www.linuks.mine.nu/ree/

There is a tool to flash the BIOS from Linux at http://packages.debian.org/flashrom

The BIOS boot specification


If the expansion ROM wishes to change the way the system boots (such as from a network device or a SCSI adapter for which the BIOS has no driver code), it can use the BIOS Boot Specification (BBS) API to register its ability to do so. Once the expansion ROMs have registered using the BBS APIs, the user can select among the available boot options from within the BIOS's user interface. This is why most BBS compliant PC BIOS implementations will not allow the user to enter the BIOS's user interface until the expansion ROMs have finished executing and registering themselves with the BBS API.

The Rise and Fall of the BIOS


Older operating systems such as DOS relied on the BIOS to carry out most input-output tasks within the PC. A variety of technical reasons eventually made it inefficient—especially for more recent operating systems written for the Intel 80386 such as Linux and Microsoft Windows—to invoke the BIOS directly. Such operating systems instead used their own better-performing native drivers and were also much easier to extend to support new hardware. As such, the BIOS was mostly relegated to bootstrapping to the point where the operating system's own drivers could take control of the hardware.
There was a similar transition for the Apple Macintosh, where the system software originally relied heavily on the ToolBox—a set of drivers and other useful routines stored in ROM—but later discarded this in favour of software drivers.
In recent years, however, by way of systems such as ACPI, the BIOS has taken on more complex functions such as power management, hot swapping and thermal management. This has led to renewed reliance on the BIOS by operating system producers, and an increase in complexity of BIOS code. This in turn led Intel to develop Extensible Firmware Interface (EFI), a specification which defines the firmware which replaces the functionality of the legacy BIOS. EFI is now driven by The Unified EFI Forum, an industry
Special Interest Group (SIG). Linux has supported EFI via elilo boot loader since early 2000. Microsoft announced that support for EFI in Windows Vista is only available for the 64-bit versions starting with SP1, and for Windows Server 2008.
The Open Source community increased their effort to develop a replacement for proprietary BIOSes and their future incarnations with an open sourced counterpart through the LinuxBIOS and OpenBIOS/Open Firmware projects. So far, those projects have met with some success, with AMD providing product specifications for a number of fairly recent chipsets, and Google sponsoring the project. Motherboard manufacturer Tyan offers LinuxBIOS next to the standard BIOS with their Opteron line of motherboards. MSI and Gigabyte have followed suit with the MSI K9ND MS-9282 and MSI K9SD MS-9185 resp. the M57SLI-S4 modems.

The BIOS business


The vast majority of PC motherboard suppliers license a BIOS "core", and toolkit from a commercial third party, which creates and maintains such a core. The motherboard manufacturer then customizes this BIOS to suit its own hardware. For this reason, updated BIOSes are normally obtained directly from the motherboard manufacturer.

List of BIOS suppliers



★ Aexor Systems

American Megatrends (AMI)

Award Software International (merged with Phoenix Technologies in 1998)

★ coresystems GmbH

★ General Software

Insyde Software (Insyde)

★ MicroID Research (MRBIOS)

★ Nanjing Byosoft (Byosoft)

Phoenix Technologies

See also



Firmware

Extensible Firmware Interface (EFI)

LinuxBIOS, a project which aim is to create a free replacement for the BIOS

Open Firmware

Input/Output Base Address

Advanced Configuration and Power Interface (ACPI)

BIOS boot devices

BIOS Interrupt Calls

Power-On Self Test (POST)

Sources



''How BIOS Works'' - ''HowStuffWorks''

External links



Wim's BIOS Page

TweakBIOS - BIOS information and tweaking

BIOS options explained

Award BIOS identification page

Information about the BIOS, POST, BIOS recovery

BIOS from A to Z

BIOS for Beginners

Notes and References


1. IBM Personal Computer Technical Reference manual, IBM Corporation, First Edition, Revised March 1983, page iii
2.
3. Source: Howstuffworks


This article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves
BIOS Companies
Below is the list of travel companies in BIOS we have in our travel directory