When defining an 'operating system', you'll probably hear a part that says that an OS is a software program that communicates with the hardware and also manages the hardware resources. This might often sounds contradictory to what you might have earlier read about a firmware sometime ago(probably), that a firmware is a software program or set of instructions programmed on a hardware device. This therefore raises this question, which of the software categories really controls the hardware, is it the firmware or the operating system? Or what is the difference between the firmware and the Os.
Definition of Operating system
An OS(operating system) is a system software that manages the computer hardware resources, interfaces between the hardware and the user, and provides a framework for other programs and applications to run and function effectively.
An OS provides the base management of a computer in general, it controls other computer peripherals via device drivers and also creates an environments for other applications to work via application programming interfaces. Operating systems are complex forms of software that uses graphical user interfaces(GUIs) for easy communication between the hardware and the user.
Definition of Firmware
A firmware is a specific class of software or a piece of code programmed and embedded on a specific hardware component, that usually provides a low-level control for these component.
How do I mean by a 'specific hardware component'? While an OS is a software that controls and manages the work of the entire system, the firmware is a software built and intended for a certain piece of a hardware or a hardware component, that provides linkages to how the hardware will communicates with other hardware in a system. It contains the logic codes that communicates directly with the hardware and provides a foundation layer for the OS to take over.
THE CONCEPT: The computer hardware or any kind of digital devices contains programmable microchips that are built on orders of 0s (zeros) and 1s(ones). The concept of the 0s and 1s just refer to the ON and OFF state of the MOSFETs that actually made up these chips. For example 11000111 is an ON and OFF digital signal of the chip that can signify a piece of code that tells a computer what to do when a certain key is pressed. These type of codes are often written in binary formats or machine languages and are called low level languages, so a type of software program needed to communicate directly with the hardware itself must understand and support these binary format. That is when a firmware comes in.
To have a clearer picture of what these software really does to a hardware, let see the many classes of hardware devices concerned.
A remote control is an example of a device that requires firmware to turn the button matches into series of infrared beams signals that a TV can detect and process. The TV on the other hand, also contains firmware on it mother board that tells those ICs how to interpret these infrared beams to digital signals for the screen. The screen also contains a firmware that helps to decode the digital signals that sent over a HDMI to create the images you see on the screen and display meaningful data that humans can understand. I guess humans also have firmware too that enable them to understand these data... Just kidding.
A traffic light also has a firmware that gives the instructions in form of codes, telling it to change the light at regular intervals. A firmware also provides various controls and automation for washing machines.
A computer is one example of a system that uses both an OS, and a firmware. The firmware of a computer is also called a BIOS and it enables the computer to perform certain operations as soon as it is turned ON. The principal job of a computer's BIOS is to govern the early stages of the startup process, ensuring that the operating system is correctly loaded into memory.
The operating system is the major software program that runs a computer throughout it operations. But what will even tell the processors, the hard drives, the screens, the keyboards etc(which are hardwares that are build on 0s and 1s) that you want to startup the computer? That is the work of the computer BIOS. In fact, various hardware in the computer likewise has their individual firmware that direct them on how to connect to other hardware; for example, a processor(otherwise called cpu) without a firmware programmed on it won't even know how to detect a hard drive or network card in the mother board. If your hard drives in turn didn't have any firmware embedded on them, they won't even know how to spin fast, or when to stop.
On a robot, there is likely an operating system running a program which operate the hands, a program which operates the legs, speakers transmitters etc.These OS will create an environment for the programs to switch very fast and it will seems like the programs are executing all at the right time.
A mobile phone though, uses the aspect of a firmware and an OS differently. A firmware is a separate thing in a general purpose computer whereas in a mobile phone it is part of the OS.
These examples shows that operating systems are needed when multiple programs are to run on the same system. And the OS manages the hardware in that it will provide a graphical users interface for the user to communicate with the hardware. A firmware functions in that it is very closely tied to the particular hardware components of a device, and it provides linkages on how a particular hardware part is to communicate with other hardware.
SUMMARY
Interesting
ReplyDelete