Qual è la differenza tra un firmware e un sistema operativo?
Non c'è una distinzione netta, e la linea è spesso confusa nei dispositivi più piccoli ed embedded. Ma possiamo tracciare alcuni temi comuni.
Un sistema operativo è il software che fornisce la gestione di base di un computer, così come gestisce l'ambiente in cui vengono eseguite altre applicazioni. Per esempio, un sistema operativo è responsabile dell'impostazione del computer durante l'avvio, della gestione dell'hardware (tramite i driver dei dispositivi), dell'accesso a quell'hardware e ad altre risorse di sistema (tramite le interfacce di programmazione delle applicazioni), e potenzialmente fornisce astrazioni come la programmazione dei processi e la memoria virtuale. I sistemi operativi sono generalmente scritti in modo simile ad altre applicazioni - in un linguaggio di livello superiore come C o C++ e compilati in un binario eseguibile.
Firmware è il piccolo codice e i dati spesso non modificabili che controlla i dispositivi hardware. Il firmware permette ai produttori di dispositivi di usare chip programmabili di uso generale invece di hardware personalizzato. Questo si traduce in un risparmio sui costi, così come in una facilità di innovazione e distribuzione, dato che le funzionalità sono più facilmente aggiunte e modificate attraverso un cambio di firmware che una sostituzione del chip. Il firmware va dalla logica molto piccola (100 byte) che potrebbe controllare, per esempio, un telecomando per la televisione, alla logica più grande che alimenta un hard disk IDE o un lettore DVD. Il firmware è tradizionalmente scritto direttamente nell'assembly del chip programmabile, ma sempre più spesso è scritto in C e compilato nel linguaggio del chip appropriato.
La linea è spesso confusa, come detto, perché il firmware può crescere fino a sussumere sempre più del lavoro di un sistema operativo. Per esempio, prendiamo una moderna macchina fotografica SLR. La logica in una macchina fotografica digitale è giustamente considerata un firmware, ma poiché implementa sempre più funzioni, interfacce utente e persino interfacce di programmazione di base per aggiunte ed estensioni, si sta insinuando nel regno del sistema operativo.
Articoli simili
- Il sistema operativo Windows potrà mai superare il sistema operativo Android o il sistema operativo Apple nei dispositivi mobili?
- Cos'è il firmware? So come scrivere i driver, so cosa si fa nello sviluppo dei driver, ma dove sta il bisogno di un firmware?
- Esiste un firmware/ROM di terze parti per il Roku 2? L'attuale firmware e l'app Plex hanno seri problemi con lo streaming HD senza costante buffering.
- Google è pagato per fornire il sistema operativo Android ai telefoni? Il costo del sistema operativo è alla fine addebitato al cliente?