This post is also available in: العربية (Arabic)
Hardware, software, and firmware are the three core components that make up present-day computers and systems. You might be aware of the terms hardware and software. Hardware includes the physical components of a computer system, which may wear out over time and require replacement. The software includes sets of instructions that allow a variety of inputs from the user.
Do you know what is firmware? Is firmware software, or hardware?
What is Firmware?
Firmware is a small piece of software that makes hardware work as its manufacturer intended it to. It consists of programs written by software developers to make hardware devices work properly. Without firmware, most of the electronic devices we use daily wouldn’t be able to work. They would not do anything.
We often tend to think about a hardware device as a device that is just hardware. And we assume that it just works by itself. However, almost none of the modern hardware devices would work without this particular software written directly onto them.
Consider the case of traffic lights. It is the firmware that tells it to change the lights at regular intervals. Without firmware, the traffic light would be just an ordinary light doing nothing except looking bored.
Where Firmware is Present in a Computer?
Firmware can be thought of as “semi-permanent” since it remains the same unless it is updated by a firmware updater. You may need to update the firmware of certain devices, such as hard drives and video cards in order for them to work with a new operating system. CD and DVD drive manufacturers often make firmware updates available that allow the drives to read faster media. Sometimes manufacturers release firmware updates that simply make their devices work more efficiently.
You can usually find firmware updates by going to the “Support” or “Downloads” area of a manufacturer’s website. Keeping your firmware up-to-date is often not necessary, but it is still a good idea. Just make sure that once you start a firmware updater, you let the update finish, because most devices will not function if their firmware is not recognized.
Characteristic Features of a Firmware
These are the characteristics features of the firmware.
- Firmware is embedded in a piece of hardware that makes the hardware work as they are intended to work.
- Firmware is programmed by software engineers in such a way that it provides the basic information to the system hardware to perform input/output tasks.
- For less-complex devices such as embedded systems, consumer appliances, and computer peripherals. The firmware itself acts as the device’s complete operating system.
- Firmware is like drivers in case of functions but the firmware is stored on the hardware device itself which starts on its own but drivers are installed inside the operating system.
- Firmware is stored in non-volatile memory such as ROM, EPROM, EEPROM, and Flash memory.
Types of Firmware Present in Computers
When it comes to the firmware of a computer, there are 2 types of Firmware that can be used in the motherboard. They are as follows:
1. Legacy BIOS
Legacy BIOS is a type of firmware that was used in computers with older motherboards. This firmware used to serve all the functions a firmware should serve but it faced some limitations.
Some of the limitations of Legacy Bios are as follows:-
- Legacy BIOS contents were stored in Read-Only Memory (ROMs) so you could not rewrite it without removing the chip from the motherboard.
- Legacy BIOS is written in Assembly language which makes them harder to work with for the programmer because assembly language is long and confusing.
- Legacy BIOS takes slower boot time.
- Legacy BIOS fails to recognize drives larger than 2TB and has an all-text menu setup program.
- Legacy BIOS only has text-only menus in their setup programs.
2. UEFI (Unified Extensible Firmware Interface)
The UEFI replaced the legacy BIOS due to the limitations legacy BIOS had, any modern computer motherboard has UEFI.
UEFI gave many reasons to use it as motherboard firmware. Some of the reasons are as follow:
- UEFI is programmed with C language and has the ability to use large disks partitions of about 2TB due to the use of the modern GUID Partition Table (GPT) technique
- You can remotely diagnose and repair the computers with UEFI even with no operating system installed.
- UEFI features Backward and forward compatibility
- UEFI has a flexible pre-OS environment, GUI setup, and network capabilities.