BIOS (Basic Input-Output System)

With any computer system a fundamental design problem is how to provide for the basic communication between the processor and the devices used to obtain or display data, such as the video screen, keyboard, and parallel and serial ports. In personal computers, the BIOS (Basic Input-Output System) solves this problem by providing a set of routines for direct control of key system hardware such as disk drives, the keyboard, video interface, and serial and parallel ports.
 In PCs based on the IBM PC architecture, the BIOS is divided into two components. The fixed code is stored on a PROM (programmable read-only memory) chip commonly called the “ROM BIOS” or “BIOS chip.” This code handles interrupts (requests for attention) from the peripheral devices (which can include their own specialized BIOS chips). During the boot sequence the BIOS code runs the POST (power-on self test) and queries various devices to make sure they are functional. (At this time the PC’s screen will display a message giving the BIOS manufacturer, model, and other information.) Once DOS is running, routines in the operating system kernel can access the hardware by making calls to the BIOS routines. In turn, application programs can call the operating system, which passes requests on to the BIOS routines.
The BIOS scheme has some flexibility in that part of the BIOS is stored in system files (in IBM PCs, IO.SYS and IBMIO.COM). Since this code is stored in files, it can be upgraded with each new version of DOS. In addition, separate device drivers can be loaded from files during system startup as directed by DEVICE commands in CONFIG.SYS, a text file containing various system settings. For further flexibility in dealing with evolving device capabilities, PCs also began to include CMOS (complementary metal oxide semiconductor) chips that allow for the storage of additional parameters, such as for the configuration of memory and disk drive layouts.
In modern PCs the BIOS setup screen also allows users to specify the order of devices to be used for loading system startup code. This, for example, might allow a potentially corrupted hard drive to be bypassed in favor of a bootable CD or DVD with disk repair tools. Another scenario would allow users to boot from a USB memory stick and use a preferred operating system and working files without disturbing the PC’s main setup. The data on these chips is maintained by a small onboard battery so settings are not lost when the main system power is turned off. Additionally, modern PC BIOS chips use “flash memory” (EEPROM or “electrically erasable programmable read-only memory”) to store the code. These chips can be “flashed” or reprogrammed with newer versions of the BIOS, enabling the support of newer devices without having to replace any chips.

Leave a Reply