Why Do Computer Devices Need a BIOS?
The BIOS (Basic Input/Output System) is a firmware (type of computer program) which is used for booting computer devices. It is what the device’s microprocessor uses to get the system started once a device is turned on.
The BIOS is critical in the device’s booting process. In fact, if BIOS malfunctions or is absent, the device will fail to start-up. The ultimate question is: why do computer devices need BIOS?
Well, there are vital functions which BIOS performs in a computer device. These functions are essential for the smooth running of the device. They are:
- Initializing and Testing Hardware Components:For a computer device to function normally, certain hardware components e.g. hard disk, graphics card and keyboard have to be working. It is the job of BIOS to ensure this.As such, as soon as the device is turned on, its microprocessor passes control to BIOS. The first thing BIOS does is to initialize and test the system hardware components. Its goal is to ensure that the components are attached, functional and accessible to the Operating System (OS).In case any hardware component isn’t accessible, BIOS pauses the booting process and issues a warning. Anyone who has attempted to boot a desktop computer without attaching a keyboard has witnessed BIOS in action.
- Loading the bootloader or OS:Once every hardware component has been successfully initialized and tested, BIOS then proceeds to load the OS. There are two possible approaches it takes to achieve this. In most cases, BIOS loads the OS directly. It simply locates the OS program from the hard disk and loads it.However, in some cases, BIOS loads the bootloader. A bootloader is simply a program which is used for loading the OS. When BIOS loads the bootloader, it passes control to the bootloader. The bootloader then loads the OS.
- Providing an abstraction layer for I/O devices:Input/Output (I/O) devices are an essential part of computer systems. Examples of I/O devices include keyboard, mouse, display (e.g. screens or monitors), printer, game controllers, webcams, etc. In fact, without I/O devices, it would be impossible for people to use computers.Now, for I/O devices to function, OS and application programs need to be capable of interacting with them. The BIOS facilitates such interaction by providing an abstraction layer for I/O devices.
This abstraction layer is especially helpful for computer programmers. It ensures that they can create applications which can interact with any hardware device without needing to know the details of how each hardware is implemented.As an abstraction layer, BIOS typically acts as an intermediary between the microprocessor and I/O devices. It basically facilitates dataflow and device control. This makes it easy for the OS and computer programs to interact with I/O devices.However, not all computer systems use the BIOS’ abstraction layer. Most of modern systems actually access I/O devices directly. This is because direct access is much faster. Such systems ignore the BIOS’ I/O abstraction layer.
In a nutshell, computer devices need BIOS to perform three key functions. The two most critical ones are initializing and testing hardware components; and loading the Operating System. These are essential to the start-up process. The third is providing an abstraction layer for I/O devices. This enables OS and application programs to interact with I/O devices.