A BIOS (Basic Input/Output System) Short for ROM BIOS, or System BIOS is an electronic set of instructions that a computer
uses to successfully start operating. The BIOS is located on a chip
inside of the computer and is designed in a way that protects it from
disk failure. The main function of the BIOS is to give instructions for
the Power-On Self Test (POST).
This
self test ensures that the computer has all of the necessary parts and
functionality needed to successfully start itself, such as use of memory,
a keyboard and other parts. If errors are detected during the test, the
BIOS instructs the computer to give a code that reveals the problem.
Error codes are typically a series of beeps heard shortly after startup.
The
BIOS also works to give the computer basic information about how to
interact with some critical components, such as drives and memory that
it will need to load the operating system.
Once the basic instructions have been loaded and the self-test has been
passed, the computer can proceed with loading the operating system from
one of the attached drives. Computer
users can often make certain adjustments to the BIOS through a
configuration screen on the computer. The setup screen is typically
accessed with a special key sequence during the first moments of
startup. This setup screen often allows users to change the order in
which drives are accessed during startup and control the functionality
of a number of critical devices. Features vary among individual BIOS
versions.
We
can also use flash-memory cards to hold BIOS information. This allows
users to update the BIOS version on computers after a vendor releases an
update. This system was designed to solve problems with the original
BIOS or to add new functionality. Users can periodically check for
updated BIOS versions, as some vendors release a dozen or more updates
over the course of a product's lifetime. Mother board (System) BIOS,
Video adapter firmware (BIOS), Drive controller firmware (BIOS), Modem
Card firmware (BIOS),Network adapter board. BIOS, SCSI adapter BIOS. The
mother board BIOS provides routines to support motherboard features.
BIOS ROM chips for major sub systems of computer such as video and drive
control must also be included.
Actually
BIOS can be placed in between the computer and external devices as its
name tells it is used for reading the keystroke, displaying values on
screen, Reading and writing to and from floppy and hard disks etc.
The
keyboard is assigned the port number 60, which is known to BIOS. BIOS
reads this port and data from keyboard goes to computer.
FUNCTIONS OF BIOS
BIOS a boot firmware program on a PC
which controls the computer from the time you start It up until the
operating system takes over. When you turn on a PC, the BIOS first
conduct a basic hardware check, called a Power-On Self Test (POST), to
determine whether all of the attachments are present and working. Then
it loads the operating system into your computer's random access memory, or RAM.
The BIOS also manages data flow between the computer's operating system
and attached devices such as the hard disk, video card, keyboard,
mouse, and printer.
The BIOS stores the date, the time, and your system configuration
information in a battery-powered, non-volatile memory chip, called a
CMOS (Complementary Metal Oxide Semiconductor) after its manufacturing
process. The main functions of the BIOS are:
(i) BIOS power on self Test (POST)
(ii) Bootstrap loader
(iii) BIOS Setup utility program
(iv) System service routines
(i) BIOS Power on Self Test (POST):
While booting the system, BIOS first performs POST. It is a built-in
diagnostic program that checks hardware to ensure that everything is
present and is working properly. Then additional tests are done during
booting. The POST takes very less time to run and if there is no
problem, it is difficult to notice that it is running. Actually the
monitor even had not activated to see the problem (if there), so speaker
is used. When a PC is turned on, there are beeping sounds and if there
is some problem in machine, system stopped without booting up. These
beep patterns depends on the maker of BIOS and used to diagnose many
hardware problems of Pc. As the POST tests all important components of
system, POST boot errors are fatal. BIOS send the detail of problems to
special I/O address (usually 80h). A special debugging card is put to
ISA slot to accept debugging codes that BIOS sends to it. The place
where POST stops and find a problem can be seen by displaying the codes
from card.
(ii)
Bootstrap Loader: To boot the operating system. The BIOS contains a
program known as bootstrap loader whose responsibility is to search and
start the operating system boot program. Then the boot program of
operating system controls the computer system and boots the operating
system. The boot sequences for Award BIOS software are;
(i) Test the CPU
(ii) Initialize support chips
(iii) Initialize the keyboard
(iv) ROM BIOS test
(v) CMOS RAM test
(vi) Memory test
(vii) Cache initialization
(viii) Initialize the vector table
(ix) CMOS RAM check sum
(x) Keyboard initialization
(xi) Video circuit test
(xii) Video memory test
(xiii) DMA Controller test
(xiv) PIC tests
(xv) EISA mode test
(xvi) Enable EISA slots
(xvii) Check memory size
(xviii) Memory test
(xix) Check EISA memory
(xx) Mouse initialization
(xxi) Cache initialization
(xxii) Shadow RAM setup
(xxiii) Floppy test
(xxiv) Hard drive test
(xxv) Serial/parallel port test
(xxvi) Initialize math coprocessor
(xxvii) Boot speed
(xxviii) POST loop
(xxix) Security/Password information
(xxx) Write to CMOS RAM
(xxxi) Initialize adapter ROM
(xxxii) Set up the time
(xxxiii) Boot the system and control given to INT 19 boot loader.
(iii) BIOS Setup Utility Program: A
non volatile memory (NVRAM) is used to store information about the
computer system. During installation of a system, the user run BIOS
setup program and enter the correct parameters. The settings of memory,
disk types and other settings are stored in NVRAM and not in BIOS chip
itself. To construct NVRAM, the material required is CMOS (Complementary
metal oxide semiconductor). These CMOS chips are very efficient storage devices
as they store and maintain data on very low values of current. The
system's configurations therefore are also termed as CMOS settings,
which we can set using BIOS set up program. The BIOS reads the
parameters from CMOS RAM as and when required.
CMOS
settings can be maintained by battery backup either by using capacitor
or by a battery built into NVRAM chip. This chip also has system clock.
If there is no battery, the setting remains for short period of time and
we need to reset the system. With it there is loss of BIOS password
which protects BIOS set up program.
To clear the CMOS RAM contents, two methods used are
(i) By using clear CMOS jumper.
(ii) By holding down enter key during booting of the system.
For Pentium III motherboards, different set ups are there in AMI BIOS. These are:
• Standard CMOS Setup: It is used to set time date, hard disk type, type of floppy drive, type of monitor and keyboard.
Advanced CMOS Setup: It
is used to set typematic rate and delay, above 1 MB memory test, memory
test tick sound, Hil < Del> message display, system boot up
sequence etc.
• Advanced Chipset Setup: It is used to set features of chipset.
• Power Management Setup: It is used to control power conservation options.
• PCI/Plug and Play Setup: It is used to set options of PCI bus and that of plug and play devices.
• Peripherals Setup: It is used to control options related to I/O controllers.
• CPU Configuration Setup: This
setup is used to select the types of CPU installed in the motherboard.
In AMI BIOS, the settings are auto as it automatically finds out the
type of CPU in the computer system.
• System Service Routines: The
BIOS provides various software routines (subprograms) that can be
called by higher-level software such, as DOS, Windows, or their
applications, to perform different tasks. Virtually every task that
involves accessing the system hardware has traditionally been controlled
using one or more of the BIOS programs (although many newer operating
systems now bypass the BIOS for improved performance). This includes
actions like reading and writing from the hard disk, processing
information received from devices, etc.
BIOS
services are accessed using software interrupts, which are similar to
the hardware interrupts except that they are generated inside the
processor by programs instead of being generated outside the processor
by hardware devices. One thing that this use of interrupts does is to
allow access to the BIOS without knowing where in memory each routine is
located.
Normally, to call a software routine you need to know its address. With interrupts, a table called an interrupt vector table is
used that bypasses this problem. When the system is started up, the
BIOS puts addresses into this table that represent where its routines
are located for each interrupt it responds to. Then, when DOS or an
application wants to use a BIOS routine, it generates a software
interrupt. The system processes the interrupt, looks up the value in the
table, and jumps to the BIOS routine automatically. DOS itself and
application programs can also use this interrupt vector table.