Qual è il livello di un sistema informatico su cui viene eseguito il firmware?

0

Nei seguenti livelli di un sistema informatico, su quale livello viene eseguito il firmware (ad esempio, BIOS)?

Immagino:

  • Il BIOS non dipende dal sistema operativo, quindi deve essere eseguito su un livello inferiore al livello 3.

  • Il BIOS è scritto in linguaggio macchina, quindi è un programma senza livello 2?

Grazie.

    
posta Tim 11.03.2015 - 03:51
fonte

3 risposte

3

Il firmware non si adatta perfettamente a tale gerarchia. Il firmware è in realtà solo un luogo in cui è archiviata una libreria di codice macchina (nel senso del livello 2). Spesso il codice memorizzato nel firmware è destinato alla gestione della scheda madre e dei canali IO, ma non è necessario. Ho un vecchio laptop Tandy con Multiplan, un editor di testo, un interprete BASIC e un calendario nel firmware.

    
risposta data 11.03.2015 - 04:35
fonte
2

Non sono abbastanza sicuro che l'immagine sia sufficientemente precisa da esporre dettagli come il Firmware. Ad esempio i primi 2 livelli di solito accadono molto prima del riposo, il sistema operativo non interpreta il programma nel senso comune del termine ... a meno che non si intenda loader ecc.

Alla fine il modello non ha una mappatura diretta a un computer di "vita reale" - lo considererei anche più come un modello di contratti di calcolo, quindi di computer come macchina fisica. Ci sono alcune lacune tra questi due - per esempio virtualmente nessun OS sta interpretando il programma - è fatto in silicio / dal microcodice direttamente mentre il sistema operativo sta gestendo condizioni di errore e syscalls con ISA seduto tra microcode e sia OS che programma.

A seconda di cosa intendi per del firmware, potresti ottenere risposte diverse:

  • Il firmware dei vari componenti può essere eseguito sui loro chip. Corrispondono approssimativamente ai livelli da 1 a 5 di "computer" (cioè processori) situati sui dischi rigidi ecc.
  • Il firmware può essere utilizzato come sinonimo di SO sui telefoni cellulari. In questo senso corrisponde al Livello 3.
  • Il microcodice è una specie di firmware, quindi corrisponde al livello 2.
  • Infine il firmware come UEFI o BIOS può significare varie funzioni fornite per il sistema operativo nello spazio degli indirizzi. Corrispondono al Livello 2 (a) mentre il vero sistema operativo corrisponderebbe al Livello 2 (b)
  • Concettualmente il firmware apparterrebbe al Livello 1 se lo trattiamo come modello di calcolo e non di computer.
risposta data 11.03.2015 - 04:14
fonte
2

Il firmware è un software eseguito su memoria di sola lettura (ROM) o qualcosa di simile. Il firmware è più solido del software perché il software può essere modificato da qualche parte lungo la catena da dove è memorizzato in alcuni supporti di lettura e scrittura e caricato in memoria scrivibile ed eseguito da lì.

Il firmware non può funzionare come codice di modifica automatica del posto. Il software può essere eseguito come codice in-place e auto-modificante.

Se riesci a pensare ad una ROM e ad una qualche forma di hardware programmabile, il "firmware" è una forma di hardware. Se riesci a pensare ad un FPGA come una forma di hardware programmabile, allora puoi pensare a FPGA Verilog e simili come a una forma di "firmware".

Con il passare del tempo, le linee tra software, firmware, hardware si offuscano sempre di più.

    
risposta data 11.03.2015 - 05:10
fonte

Leggi altre domande sui tag