this post was submitted on 14 Jul 2023
2658 points (98.0% liked)

Technology

57432 readers
3692 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
[–] [email protected] 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.