In embedded devices such as printer, switches, I am confused what the difference between the firmware and the operating system is. Are embedded devices operating systems similar
For any device (computer, printer, scanner, digital camera, etc.) to start running, it should have an initial program to run when it is powered up/booted. This initial program is called firmware. It is also called as bootstrap program, also called BIOS. It is mounted in ROM (a non-volatile memory, whose contents are permanent).
Firmware locates the operating system's kernel (remember, the kernel is part of the operating system) and loads it into primary memory (RAM) at the time of startup. Firmware is usually written in assembly language or a high level language such as C/C++.
An operating system is a complete software stack that manages a computer's hardware and sets up an environment for the applications to run. In other words, an operating system performs the designated task of the device. Kernel is at the bottom of this software stack and keeps running as long as your device is up and running. When I say operating system managing the hardware, It is actually the kernel that manages any requests to hardware resources (CPU, memory, input, and output).