The Basic I/O system or BIOS is a legacy technology that provided hardware initialization. It is a piece of low level software written in assembly and has been replaced by UEFI in modern systems
The main job assigned to BIOS is POST (Power On Self Test). It’s a hardware self test. During POST, the BIOS execute simple read/write tests:
- Verify CPU registers.
- Verify the integrity of the BIOS code itself.
- Verify some basic components like DMA, timer, interrupt controller.
- Find, size, and verify system main memory.
- Initialize BIOS
- Identify, organize, and select which devices are available for booting.
The beep sound after the POST indicate its result: a short beep indicates OK while two short beeps mean an error (fatal, due to hardware problems, or non-fatal, due to software problems)
BIOS is stored in EEPROM (Electrically Erasable Programmable ROM) / Flash memory. BIOS can not stored on a hard disk or other devices, because it manages those devices, and acts as an intermediary between computer CPU and Input/Output devices, eliminating the need for the operating system and software on the system/server to be always aware about the details of hardware.