When can we say that a software is an operating system and not a firmware, in terms of what it can do?

I know that firmware is usually stored in ROM and OS is stored on HDD/SSD, but technically you can also store OS on ROM, so the way of storage is not what exactly distinguishes between an OS and a firmware.

So what can an operating system do that a firmware cannot?

Is it the fact that we can create apps on top of an operating system, but not on top of a firmware?


That depends on your definition of "operating system". Some authors define that as the kernel (i.e., Linux, providing process control, a filesystem and simple/controlled access to devices), others add in all sorts of userland applications (i.e., "go to your vendor, ask for an operating system; whatever they give you is an operating system", this can include not only tools for managing your machine but all sorts of application tools and even development suites).

There are operating systems managing user-oriented machines, others handle e.g. huge farms of machines for Google and their ilk, and the computer controlling your car probably has one handling low-level details while most of the interesting stuff is done by "userland" programs.

Check out e.g. FORTH systems, on the microcomputers of the day they were all that ran e.g. on an Apple ][. Very minimalistic, to say the least, at a few KiB in all. On the other end of the spectrum consider e.g. the Debian distribution: A slew of gigabytes of software at your fingertips.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.