Cos'è il BIOS e perché ne abbiamo bisogno?


3

Ho provato a leggere del BIOS su Wikipedia e altri siti Web, ma non riuscivo a capire molto. Qualcuno può dirmi cos'è il BIOS e perché ne abbiamo bisogno? Inoltre il BIOS è presente in ogni dispositivo elettronico o solo computer e smartphone?


Una semplice domanda che richiede una risposta approfondita. Hmm ... il rappresentante è forte con questo .
Quel ragazzo brasiliano, il

Solo una nota (che le risposte attuali non sembrano indirizzare): il BIOS e le varianti originali del PC IBM sono stati in gran parte sostituiti da UEFI. È fondamentalmente una specifica più recente con un supporto migliore per l'hardware più recente ed è più estensibile.
Bob,

@ ps06756 Se vuoi saperne di più sul BIOS, sulla sequenza di avvio e sui tipi di memoria utilizzati durante il processo di avvio, forse puoi dare un'occhiata a questa risposta sull'avvio . Potrebbe essere utile. Bella domanda, +1.
Varaquilex,

Risposte:


8

I PC sono gestiti da programmi complicati, chiamati sistemi operativi (SO). Sono ospitati nella memoria RAM, che è volatile , cioè perde il suo contenuto quando si spegne.

Quindi sorge la domanda: quando si accende il PC, poiché la RAM sarà vuota, come si avvierà il PC?

Il BIOS è ciò che lo rende possibile. È un programma molto piccolo, ospitato su memoria di sola lettura (= ROM) che non è volatile, cioè non svanisce quando si spegne la fotocamera. Viene automaticamente caricato sul PC dalla ROM tramite circuiti speciali, in modo che il PC possa iniziare il processo di avvio.

Poiché la quantità di memoria ROM è piccola, si tratta di un piccolo programma, che può fare un numero limitato di cose, sostanzialmente tre:

  1. Esegue un autotest;
  2. verifica che le periferiche (disco, video, tastiera, ...) funzionino correttamente e le inizializza;
  3. determina un elenco di luoghi in cui potrebbe trovarsi uno stadio più avanzato per l'inizializzazione (il disco rigido, un disco cd-rom, una chiavetta USB, la rete) e cerca di passare il controllo a questo nuovo stadio. Se riesce, il processo di avvio continua, altrimenti si interrompe con alcuni messaggi di errore difficili da capire.

Ero vago riguardo al secondo stadio: in sostanza, il nuovo stadio si trova in una posizione speciale del disco rigido o del cd-rom, o della chiavetta USB, chiamata Master Boot Record (MBR). Questa è una piccola sezione (446 byte) del disco, ad esempio, che dice al PC come il disco è diviso (partizionato è il termine tecnico) in sezioni e su quale di queste sezioni la fase successiva del processo di accensione possono essere trovati. Quest'ultima fase è la fase finale, che sarà responsabile del caricamento del vero sistema operativo (Windows, Mac Os, Linux, Unix, ...) nella RAM del PC. E, da quel momento in poi, è come al solito.


6

Buona domanda.

Quando ho intrapreso il mio primo lavoro di programmazione nel 1978, avevamo un mini computer di dimensioni standard. Un HP2100 . Quando si bloccherebbe, dovremmo impostare con cura 16 interruttori sul pannello frontale, quindi attivare un interruttore per caricare quella parola di memoria e ripeterlo circa 20 volte. Se hai commesso anche il più piccolo errore, dovresti ricominciare da capo.

Ciò che doveva essere programmato a mano era un programma estremamente semplice chiamato boot loader . Una volta caricato, faremo clic sul pulsante Esegui per eseguire questo codice e un programma avvierebbe il lettore di nastri di carta e leggerà i fori di un lungo nastro di carta in memoria.

Su questo nastro di carta c'era un altro programma più complicato che era un semplice BIOS, o Basic Input / Output System . Questo programma sapeva come accedere ai dischi rigidi, ad es. Come spostare la scrittura in lettura avanti e indietro e come caricare un settore di dati che conteneva un altro programma, uno più grande, il sistema operativo. E se qualcosa è andato storto, aveva uno strumento da riga di comando molto semplice per interrogare ciò che era in memoria e modificarlo manualmente.

Quindi è un processo in tre fasi e non è cambiato in tutti questi anni.

Ora con questi primi PC il BIOS sui microcomputer era un po 'diverso da quello che è oggi.

Quando si digitava un comando sulla riga di comando, come dir per elencare i file su un disco, il sistema operativo calcolava dove cercare in base a un file system, ma poi chiedeva al BIOS di fare effettivamente il lavoro per spostare e girare l'hardware il disco per ottenere uno specifico blocco di dati. Allo stesso modo il BIOS ha fornito l'interfaccia di basso livello alle porte seriali utilizzate per visualizzare informazioni sullo schermo e ottenere sequenze di tasti e per inviare dati alla stampante, ecc. Quindi DOS (il sistema operativo del disco) avrebbe gestito la riga di comando, ma una volta si è capito che un personaggio doveva essere inviato allo schermo, quel lavoro era stato consegnato al BIOS che sapeva come far funzionare il circuito di I / O seriale.

Quindi il BIOS era un livello di astrazione che rendeva possibile eseguire CPM e MSDos su hardware diverso, ad esempio dimensioni diverse e tipo di dischi rigidi e floppy.

Oggi il BIOS è simile, ma una volta caricato il sistema operativo la maggior parte dei sistemi operativi sostituisce i driver hardware del BIOS con i driver più strettamente integrati nel sistema operativo. Questo viene fatto per ottenere prestazioni migliori, ovvero fare la stessa cosa più velocemente.

IBM ha pubblicato il codice sorgente per il suo BIOS per PC IBM in modo che gli ingegneri potessero studiarlo e modificarlo. Un inverno ho anche smontato MSDos, l'intero sistema operativo maledetto, non qualcosa che uno è autorizzato a fare oggi, per vedere come ha funzionato. Ci sono voluti un paio di mesi e alcuni programmi di base intelligenti per smontarlo, e un sacco di grattacapi per cercare di capire cosa stesse facendo il codice, ma alla fine mi ha dato una solida comprensione di cosa fa esattamente un sistema operativo e come lo fa. Non è magia È solo un mucchio di funzioni accuratamente scritte per prendere comandi di alto livello e convertirli in azioni hardware. E il BIOS non è diverso. Ha un sacco di cose che puoi richiedere di fare e modi in cui può essere configurato per vari hardware.

Ho pensato che una piccola storia di provenienza di tutte queste cose potrebbe aiutarti a capire meglio questa magia moderna. Oggi questo codice è proprietario, quindi la maggior parte degli ingegneri non può mai sapere come funziona.


+1 Grazie! Per condividere la tua esperienza, mai previsto che i computer siano così complicati.
Pratik Singhal,

1
+1 La ragione per cui i moderni sistemi operativi sostituiscono i driver del BIOS è che è difficile chiamare i driver del BIOS a 16 bit dalla "modalità protetta" - modalità a 32 bit. Saluti.
jpaugh

1

Quindi, in poche parole.

BIOS significa sistema di input / output di base, è il programma più essenziale nei dispositivi programmabili, come le schede madri dei computer (PC, laptop, mainframe e altri computer, anche nei telefoni e altri giocattoli elettronici, come i tablet) e tutti gli altri tipi di hardware, come DVD, BD, ecc.

Il BIOS viene archiviato direttamente nel dispositivo e controlla il suo comportamento. Il BIOS della scheda madre ha un'interfaccia semplice per configurare la scheda.


Il BIOS nelle unità ottiche è anche chiamato firmware.
Dexter Mullins,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.