BIOS
The term Basic Input Output System (BIOS) dates back to the original IBM personal computer of the early 1980's. The BIOS was an API, located in non-volatile memory, and thus was said to be firmware. The BIOS chip in a personal computer originally provided an information-hiding layer between the (then) Disk Operating System (DOS) and the hardware. The contents of an IBM personal computer's firmware include the following essential parts:
- power-on self test (POST) routines
- a tiny database about the hardware configuration
- a setup program for modifying the database (this program could only be run by pressing a certain key, or group of keys, during the boot process; exactly which keys varied per computer manufacturer)
- a set of routines for accessing standard hardware components such as disk drives and serial ports
- the boot-strap loader program, which looks at the first sector of the boot drive (the so-called Master Boot Record, or MBR) to locate an operating system, loads the OS into memory, and then transfers control to the OS kernel
The BIOS's role as an information-hiding layer was very important. It allowed many different hardware vendors to create components such as motherboards and add-in cards for the computer, without the operating system code needing to be changed. Because the BIOS was in firmware, it also meant that consumers could upgrade their own diskdrives. The latter is an important point, because in 2008, 25 years after the IBM personal computer's BIOS became the de facto standard to booting Wintel computers, an industry consortium is moving to surplant BIOS and MBR booting (admittedly limited in capability) with a newer standard called EFI.