Introduction to Firmware & Operating System
We are living in a digital world and there is a constant bombardment of varied technologies all around us. In depth understanding of basic concepts related to IT help us to utilize Computer resources more effectively and securely.
Good understanding of basic concepts such as awareness or knowledge of commonly used terminologies in digital world help us to better equip ourselves on usage of technology for bringing efficiency in our day to day work.
In today snippet we look at some common terminologies such as Operating systems and Firmware software.
Computer systems are used to automate tasks and execute user programs. Many application programs and hardware combined to perform functions. Operating system is a software which controls and manages the resources to have effective utilization of system resources.
Operating system acts as an interface between hardware and application programs.
Operating Systems – Requirement
Act as an interface between hardware and applications and gives them a platform and controls their execution on systems.
Input-Output Management – Computer system resources such as memory, disk , monitor, keyboard, mouse, printer etc. are managed by operating system. Allocation of hardware resources to various programs / applications is handled via Input – Output management.
Operating system provides a consistent user-friendly interface to systems users to perform activities/ and operations on computer systems.
Multitasking is enabled by operating system and it manages memory and let multiple programs run in their allocated space and programs communicate thru shared memory.
Operating Systems – Functions
Operating systems perform multiple functions such as processor management to control CPU (Central Processing Unit) , device management using Buffering and Spooling techniques, memory management using Partitioning and virtual Memory , File management to Index information on disk using File Allocation Table (FAT) to manage files, folders, directories systems on a computer including their proper access rights to edit or read them.
Firmware is a specific type of software which is embedded with hardware and directly access hardware and its resources without using APIs , Operating system to perform basic tasks and functions. The basis instructions guide on how device communicate with computer hardware.
Firmware is stored on ROM (Read Only Memory) , this is a flash ROM which can be rewritten as required. Firmware upgrades enhance device capabilities and make them more efficient to work.
Firmware upgrades may be carried out to fix bugs, to modifying device functionality, make it secure or remediate security vulnerabilities.
Firmware weaknesses can be exploited to introduce Malware, intercept communications, data stealing or change in device configurations, which may result in damage to vendor reputation.
Types of Firmware
There are two types of Firmware BIOS and EFI.
- BIOS: When the system is turned on the first thing that interacts with system is BIOS. It interacts with hardware and check for consistency. It sends signal to ‘Bootloader’ which invokes Operating system and places it in RAM (Random Access Memory). BIOS is responsible for handling system hardware and invoking Operating system program.
- EFI: Extensible Firmware Interface is a new generation firmware which provides initial instructions to start hardware and give control to ‘Bootloader’ for invoking OS. It is more enhanced compared to BIOS as it ensures that system boots only using software which is trusted by system manufacturer.
Comparison Table: Operating System vs Firmware
Below table summarizes the difference between Firmware and Operating system:
|Definition||Operating system is a system software. It acts as an interface between hardware and applications running on computer systems||It is a piece of code embedded in any device could be a computer or electronic appliance|
|Purpose||Execute user programs and control computer resources such as disk , memory, Keyboard, printer etc.||Gives permanent instructions to communicate with other devices and to perform basic Input/output functions|
|Storage||Stored onto Disk||Stored in ROM or Flash memory (Non Volatile Memory)|
|Operations||Handle high level operations such as providing GUI interface to end user, multitasking etc||Handles low level operations such as giving a fix set of instructions to hardware to perform a basic function|
|Language||Written using C++ and Python language||Written in C or assembly language|
|Portability||Operating system is a software which can be installed or changed by user||Embedded in hardware / chip and cannot be changed usually|
|Examples||Windows, Linux, AIX , Apple IOS||BIOS|
Download the comparison table here.
In case you are preparing for your next interview, then please go through our e-book on Operating System Interview Q&A in easy to understand PDF Format explained with relevant Diagrams (where required) for better ease of understanding.