Quali sono le differenze tra firmware e software / sistema operativo?

  1. Mi chiedevo quali sono le differenze tra firmware e software?
  2. Quali sono le differenze tra firmware e sistema operativo?
  3. Sono firmware di boot-loaders? Bios è. Che ne dici di GNU grub? È il software o il firmware del grub?

Tradizionalmente, il firmware è il codice CPU che risiede su una ROM non modificabile necessaria per un dispositivo hardware per avviare e caricare un sistema operativo o un binario (software) di scelta. A volte non viene scelta la scelta di un binario e viene utilizzata una per il firmware del boot-share.

Tutte le CPU hanno il problema classico in quanto, dal momento che ottengono istruzioni dalla memory, una sorta di memory pre-programmata deve esistere in un indirizzo fisso quando la CPU inizia, in modo che possa fare qualcosa automaticamente all'avvio. A questo scopo esiste un firmware. Alcuni firmware hanno anche codice che i programmi successivi possono utilizzare per i servizi. Il firmware del BIOS espone molte funzioni che DOS ha usato per l'input e l'output di base (quindi perché il BIOS sta per Basic Output System Output).

La distinzione non è del tutto chiara. Alcune tabs WLAN richiedono che il firmware venga caricato prima di iniziare a funzionare. Tuttavia, di solito c'è un piccolo firmware sul dispositivo il cui task non deve fare altro che accettare un "firmware" principale sul bus USB quando il dispositivo viene avviato dal sistema operativo e consegnare il controllo quando viene caricato. La maggior parte delle persone direbbe che tutto è firmware.

Poiché le EEPROM e la memory flash diventano più comuni, il firmware di solito non risiede in una ROM non scrivibile, ma in memory flash e può essere modificata. La distinzione tra firmware e software è oggi sfocata con l'avvento della memory flash. Tuttavia, una cosa non è cambiata nel corso degli anni e che le CPU sono ancora CPU e richiedono un codice o un firmware per essere visibili all'avvio di avviare l'avvio.

Le CPU sono in più dispositivi che mai, in modo da sviluppare e consentire di aggiornare il firmware nel caso di bug è un grosso problema ora e molti dispositivi hardware con una CPU hanno interfacce di aggiornamento del firmware, a volte non documentate.

Un firmware può essere utilizzato per caricare un sistema operativo. Può contenere un boot loader o un codice che carica un boot loader. È ansible memorizzare un'image OS nella stessa posizione del firmware e lasciare che il codice di avvio del firmware carichi il sistema operativo (i telefoni cellulari lo fanno). I BIOS di PC come regola non includono i boot loader. L'U-boot (non per i PC) è un esempio di un firmware "filesystem-aware" che carica direttamente un sistema operativo.

Di solito i FIrmwares non hanno tutte le funzionalità di un sistema operativo completo a causa del principio che più semplice è più affidabile. I più semplici firmware semplicemente inizializzano un minimo di hardware, caricano un settore o un block di un dispositivo di archiviazione e lanciano l'esecuzione. Questo è semplice da programmare e quindi facile da verificare come bug gratis. I bug nel firmware del boot time possono in particolare causare disastri per un dispositivo.

I confini possono essere un po 'fuzzy.

Il software è in genere qualsiasi istruzione o routine che un computer può fare.

Il firmware è tipicamente istruzioni specifiche (software) che vengono caricate in / all'hardware in modo che possano eseguire la propria function.

Direi che praticamente each pezzo di hardware ha una sorta di firmware incluso in esso.

Ancora una volta, non credo che ci sia una guida definitiva su where si inizia e si ferma – tutto ciò che il firmware è, è software che viene compilato per qualsiasi chip è nel dispositivo.

Quanto alla seconda domanda su ciò che è il firmware, direi che i bootloader non sono ma il BIOS è e il grub non lo è.

Questo è molto difficile per disegnare la linea, ma … il modo in cui guardo è che il BIOS (ora EFI) è il firmware della scheda madre e il disco rigido ha il proprio firmware.

Così, il bootloader / grub è un software puro: può eseguire attività con il disco rigido, ma non controlla direttamente alcun hardware.

Se prendi un dispositivo incorporato, ad esempio un Iphone / Ipad, where inizia il firmware e il software !? Se consideri che IOS sia firmware, perché non Windows o simile.

Per me, questo dimostra che i confini sono where i produttori o fornitori di qualsiasi dispositivo consentono di prendere il controllo e non è in realtà una cosa fissa / scienza esatta.

Per esempio,

  • Una scheda madre è per l'avvio – il firmware è il BIOS, quando passa alla parte successiva
  • Gli azionamenti ottici e duri sono componenti per la lettura / scrittura di dati, il firmware è la parte che fa questo lavoro su richiesta.
  • La scheda grafica è un componente per la visualizzazione di grafica, il firmware è la parte che su richiesta richiama l'output.

Per complicare ulteriormente – quando dico su richiesta, questo può essere da un driver all'interno di un altro software

Ora, un Ipad, un Iphone o qualsiasi altro dispositivo incorporato …

  • Un dispositivo che viene acquistato al ripiano per eseguire una function limitata (es. Eseguire IOS) è il firmware come non è necessario (o non dovrebbe) modificarlo manualmente. Può contenere altri pezzi di hardware all'interno, ma viene presentato come un unico dispositivo e non si acquista separatamente l'hardware, lì, each aggiornamento disponibile aggiornerà tutto invisibile (ad esempio un telefono, non aggiorna manualmente il controller GSM, l'alimentazione variables e altro, hai solo un aggiornamento che può modificare queste cose).

Quindi …. Riassumendo …

Per me, direi che firmware = il software che viene sui dispositivi where come software puro viene acquistato come dati, ma sono sicuro che gli altri possono dire diverso!

  1. La differenza è fondamentalmente in where risiede il codice. Generalmente, il firmware viene bruciato in una sorta di EPROM o memory flash incorporata, mentre il software viene memorizzato su un dispositivo di scrittura di massa.

  2. Il sistema operativo di un dispositivo può risiedere in firmware o software. Su un PC il firmware (BIOS) fornisce solo servizi a basso livello che un Software OS (Windows / Linux / etc) può utilizzare. Nei dispositivi mobili l'entri OS è generalmente firmware.

  3. Con la definizione in (1) il BIOS del computer è firmware, ma i bootloader che risiedono sul disco rigido sono software.

Il firmware è un software, ad exception che, invece di essere memorizzato sul disco, viene memorizzato in una EEPROM, di solito flashabile per consentire gli aggiornamenti.

Il firmware è in un certo senso un sistema operativo, ma molto più restrittivo e singolo, perché è solo per il controllo di quel dispositivo, mentre un sistema operativo è un sistema generale che consente di eseguire qualsiasi tipo di software su più dispositivi hardware.

No, i caricatori di avvio non sono firmware perché sono software che esiste sul disco. Sì, il BIOS è perché esiste in un chip (flashable). No, GRUB non è firmware perché non è ancora duro (non esiste un componente hardware), è il software presente sul disco, sebbene potrebbe (e potrebbe) essere installato su un chip, nel qual caso essere firmware.