BIOS, Booting, PC Firmare

What is BIOS?

Basic Input Output System or BIOS is the firmware of the personal computer which initializes the basic components of the hardware when a computer is powered on. BIOS is stored in the read only memory or non-volatile memory or ROM often known as flash chip.

Once a personal computer is powered on by power switch or a reset is done, CPU fetches the execution code of BIOS. Primary responsibility of BIOS is to prepare the input and output devices before loading the operating system.

It initializes input devices like keyboard and mouse, output devodes like video card and monitor and secondary memories like HDD, CDROM, floppy etc. This process is often known as booting of the computer. Then it searches for the appropiate booting device from which operating system can be loaded. It loads the initial boot strap portion of the boot loader and passes the control to it. Bootstarp further loads the next stages of the boot loader and boot loader further loads the operating system.

What are the types of BIOS available?

There are mainly two types of BIOS.

  1. Legacy BIOS - This is based on the older BIOS design which is mainly written by assembly language.
  2. UEFI BIOS - This BIOS is based on the unified extensible firmware interface design proposed by Intel and later accepted by major vendors. UEFI BIOS is mainly written in C and very less portion is written in assembly language. It also supports the functionality of legacy BIOS and it compatibility module inside

What are the BIOS vendors available?

  • Intel
  • American Megatrends/AMI
  • Phoenix Technologies
  • Hewlett Packard & Compaq
  • Dell
  • Where BIOS is stored in motherboard?

    BIOS is stored in the non-volatile primary memory or read only memory chip often known as flash chip. This is an integrated circuit which is firmly attached in the motherboard.

    There are three types of ROM chips-

    • PROM - Programmable ROM
    • EPROM - Erasable programmable read-only memory
    • EEPROM - Electrically erasable programmable read-only memory
    Flash chip is mainly a EEPROM and it interfaces system with SPI bus.

    What is boot loader?

    Boot loader is a small piece of software present in the beginning of the disks which loads the kernel of the operating system. BIOS loads boot loader passes the control. Boot loader further loads the kernel and initial filesystem image of the operating system and passes the control to the operating system kernel. Finally the entire booting process completes.

    What are the most popular boot loaders used?

    1. GRUB/Grand Unified Boot Loader - It is the default boot loader of all Linux operating system.
    2. NTLDR- NT Loader is the default boot loader of Windows Operating system.
    3. LILO - Lilo was the default boot loader for older Linux distributions.
    4. ISO/SYS LINUX - Syslinux is the boot loader of ISO and FAT file system in legacy boot option. ISO Linux is used for the booting of Linux installation CDROM/DVD disks of any Live CD.
    5. UBOOT - Universal Boot Loader is the default boot loader of any embedded Linux system

    Similar topics related to this section

    BIOS, Booting, PC Firmare, Topics Index, Primary Base Memory, High, Extended Memory and IO Ports, Memory Mapped IO Layout, IO Port Ranges, Interrupt Lines, x86 Registers, Real Mode Memory Segmentation, Power On Self Test, H/W Inits, Software Interrupts, Keyboard Module and int16, VGA Display int10, Disk Subsystem int13, BIOS Config Screen, BIOS Development Code Flashing Debugging, Plug-n-Play, PCI card PnP Mechanism, PCI Config Address Space, PCI MMIO IO IRQ perations, BIOS Boot OPROMs Drivers, Disk Cylinder Head Sectors, MBR Disk Partitions, MBR and File Allocation Table Partitions, Boot Loader, Grand Universal Bootloader Linux Booting, NT Loader Windows Booting, Embedded System Booting, Unified Extensible Firmware Interface Stack, UEFI Development And Advantages, References and Links,