Hardware
The
term hardware describes the physical parts of your computer which you
can physically touch or see such as your monitor, case, disk drives,
microprocessor and other physical parts.
Software
The
term software describes the programs that run on your system. This
includes your computer operating system and other computer programs
which run. Software is written in a computer language (such as Basic, C,
Java, or others) by programmers. The computer language is in a text
format and can be read by a person although if you do not understand the
structure and rules of the language you may not understand it very
well. Once a program is written, an operation is performed on it which
is called compiling. Compiling is the process of changing the textual
written language into a binary language which can be understood by the
computer.
Writing
these text files and converting them to computer readable files is the
way operating systems and most application programs are created.
BIOS (Basic Input/Output System)
BIOS
is a low level program used by your system to interface to computer
devices such as your video card, keyboard, mouse, hard drive, and other
devices. What BIOS programs provide in the computer are very simple
function calls or small subprograms which can be used by higher level
programs to perform simple operations on computer devices. For example a
BIOS program would provide the ability to write a character to memory
on a video card.
BIOS
is normally written in a low level computer language and is permanently
or semi-permanently written into the computer system. This type of
computer program is commonly referred to as firmware since it was
historically written permanently into computer systems. Although BIOS is
a program, because of its permanent state, it was not quite considered
to be software so the term firmware is used to describe it.
Historically
BIOS programs were written into a type of memory called ROM (read only
memory). This type of memory would not lose its data when the computer
lost power thus ensuring these BIOS programs would always be available.
There were different variants of ROM memory some of which could be
written multiple times but this memory could not normally be changed or
re-programmed once the computer system was sold to the customer. Once
ROM memory was written to, it could not be written to again and could
only be read when in the possession of the customer. In more recent
years a more flexible form of memory was developed called flash ROM
which allows ROM memory to be written to after the computer system is in
possession of the customer.