this post was submitted on 14 Jul 2023
2535 points (97.8% liked)

Technology

59340 readers
5597 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] MarmaladeMermaid@lemm.ee 23 points 1 year ago (3 children)

Can someone ELI5 what firmware actually is though? I kind of knew it was half way between, but i don’t know what that looks like.

[–] fuzzybee@lemm.ee 67 points 1 year ago (2 children)

Hardware is the physical part of computer.

Software is the code that runs on the computer to do the thing you want to do.

Firmware is the code that is installed on the hardware itself, usually in some sort of permanent or semi-permanent memory to make the hardware work.

[–] MarmaladeMermaid@lemm.ee 10 points 1 year ago

Oh, that makes sense, thank you!

[–] electrogamerman@lemmy.world 3 points 1 year ago (2 children)

Can you provide an example for stupid people?

[–] Kept7963@lemmy.world 10 points 1 year ago (1 children)

Say you have your display, this is made up of millions of lights that on their own just light up in whatever single colour you want, but together they light up to create an image.

Your software takes care of breaking down that image of a cat you want to look at into its corresponding pixels - with a value for colour and brightness.

For example it'll say this area in the cat's eye is black, so it'll request the no light to come out of it. Another area might be a pale red so it'll request red with some middle level of brightness.

Now your firmware takes that requested black for a specific Pixel and it'll physically cut power to switch off all the lights in the required area. For the pale red it'll power that the red ligh ON with hald power, whilst green and blue are OFF.

(things get more complex once you consider back-lightning)

[–] electrogamerman@lemmy.world 3 points 1 year ago

Great explanation. Thanks!

[–] whaleross@lemmy.world 5 points 1 year ago* (last edited 1 year ago) (1 children)

Firmware is software that makes the hardware do what it is supposed to do that runs on the hardware itself.

The term is used somewhat ambiguously though.

  • Sometimes it is just the pure functionality, "if button is pressed, flip the lights on/off".
  • Sometimes it glues communication with the functionality, "if signal is received over some interface, flip the lights on/off".
  • Sometimes it has an operating system, "when power is on, initiate communications with hardware and interfaces and load software if it is present to interact with any of these".
  • Sometimes it is a package with both operating system and software, "when power is on, initiate communications with hardware and interfaces and load software that I know is present".
  • Sometimes the OS and/or software in the firmware package has a helpful front facing user interface.
[–] electrogamerman@lemmy.world 4 points 1 year ago

Thanks! Nicely explained!

[–] BasicTraveler@kbin.social 18 points 1 year ago

It's software that lives in the hardware. It provides low-level control and functionality specific to that device. It runs on the hardware itself, not the CPU of the computer.

For example, a hard drive. We don't want the OS to have to know how to interact with every type of hard drive. Seagate does things differently than Western Digital, an SSD works very different than a hard drive, etc.. The OS sends the same commands to all types of hard drives, but each hard drive needs to know how to actually comply with the commands. If the OS is asking for a dozen different files all over the drive, it would be dumb to try and read them all at the same time. The OS doesn't really know where they are on the spinning disk, but the drive does. Firmware written specifically for the device can do a much better job planing how to fetch the data so the read head doesn't need to go back and forth a bunch of times, but instead make one good pass fetching all the data as it comes to it.

Hope that helps.

[–] Andojus@lemmy.world 9 points 1 year ago* (last edited 1 year ago) (2 children)

FIRMware is SOFTware (code) that contains the instructions to run HARDware. In most cases you would experience it, hardware is running an OS (Operating System) which manages all of the firmware ‘packages’. Many electronics, particularly more sophisticated, have firmware that is directly loaded onto the device which has a proprietary OS with limited to no graphical interface.

I am a layperson so if an expert can weigh in on my take I’d appreciate it!

[–] just_browsing@reddthat.com 12 points 1 year ago* (last edited 1 year ago)

Firmware doesn't run on an OS, you're probably thinking of drivers which are different. Drivers are software that tell the OS how to interact with specific hardware.

Firmware is software that's baked into specific hardware components and it exists outside of the OS. A visible example most people are familiar with would be the BIOS which is firmware for the motherboard. Hard drives, graphics cards, RAM, etc all also have their own firmware.

Other devices such as microwaves, washing machines, cars, or anything using microprocessors (so pretty much everything these days) also have components with their own firmware. It is true that device firmware can drive a UI on some devices such a as a microwave, but most people today wouldn't consider that to be an OS (semantics, I know).

[–] MarmaladeMermaid@lemm.ee 3 points 1 year ago (1 children)
[–] suodrazah@lemmy.ml 5 points 1 year ago

Yeah, nah...read the other reply. The comment you are replying to is a swing and miss.