Il sistema di input/output di base di un computer (BIOS) è un programma memorizzato in una memoria non volatile come la memoria di sola lettura (ROM) o la memoria flash, che lo rende un firmware. Il BIOS (a volte chiamato ROM BIOS) è sempre il primo programma che viene eseguito quando un computer viene acceso.
Ecco cosa succede durante il processo di avvio (vedi i passi nel diagramma qui sotto):
-
Si accende la corrente.
-
La CPU passa il controllo al BIOS.
-
Il BIOS esegue un programma chiamato Power-On Self Test, che determina quanta memoria ha il computer e poi conferma che l’hardware critico di basso livello funziona correttamente. Eventuali errori sono indicati da sequenze di segnali acustici. Dopo questo, il BIOS disabilita tutte le periferiche configurabili.
-
Il BIOS identifica tutte le periferiche del computer, come dischi rigidi e schede di espansione. Prima cerca i dispositivi plug-and-play e assegna un numero a ciascuno, ma non abilita i dispositivi in questo momento.
-
Il BIOS individua il dispositivo primario di avvio o di caricamento iniziale del programma (IPL). Questo è di solito un dispositivo di memorizzazione come un disco rigido, un floppy drive o un CD-ROM che contiene il sistema operativo, ma può essere una scheda di rete collegata a un server. Il BIOS individua anche tutti i dispositivi IPL secondari del sistema.
-
Il BIOS costruisce una tabella delle risorse di sistema, assegnando risorse senza conflitti in base ai dispositivi che ha trovato e ai dati di configurazione memorizzati nella RAM non volatile.
-
Seleziona e abilita i dispositivi primari di input (tastiera) e output (monitor), in modo che se si verificano problemi durante il processo di avvio, il BIOS può visualizzare una schermata di ripristino e permettere all’utente di selezionare una configurazione memorizzata di impostazioni di sistema che sono note per funzionare. Il BIOS ha catturato queste impostazioni l’ultima volta che il computer si è avviato con successo, e le memorizza nella RAM non volatile.
-
Scansiona i dispositivi non plug-and-play, incluso il bus Peripheral Component Interconnect (PCI), e aggiunge i dati dalle loro ROM alla sua tabella delle risorse.
-
Il BIOS risolve i conflitti tra dispositivi e configura il dispositivo di avvio scelto.
-
Abilita i dispositivi plug-and-play chiamando le loro ROM di opzione con parametri appropriati.
-
Avvia il caricatore di avvio. Se, per qualche motivo, l’IPL di default non riesce a caricare il sistema operativo, il BIOS prova il prossimo dispositivo IPL nella lista.
-
Il dispositivo IPL carica il sistema operativo in memoria.
- Il BIOS passa il controllo al sistema operativo, che può fare altre assegnazioni di risorse.
Il BIOS contiene anche un programma di setup con cui l’utente può configurare impostazioni basate sull’hardware come password del computer, ora e data. Poiché il BIOS configura un dispositivo primario di input e output durante il processo di avvio, un utente può eseguire il programma di setup e regolare le impostazioni del dispositivo, forse anche selezionando un dispositivo IPL diverso, come un secondo disco rigido, quando il computer non riesce ad avviarsi.
Un importante cambiamento nelle funzioni del BIOS del PC è avvenuto nel 1995 con l’avvento di Windows 95. Il nuovo sistema operativo disponeva di funzionalità plug-and-play, che non solo ha semplificato il lavoro di aggiunta di schede di espansione, ma ha anche aiutato a definire un meccanismo coerente per permettere al BIOS di riconoscere e configurare i dispositivi in un sistema.
I primi sistemi presupponevano che un dispositivo richiedesse sempre le stesse risorse – il numero di interrupt di un controller di disco e la gamma di indirizzi I/O, per esempio. Si credeva che questi non sarebbero mai cambiati o che fossero di natura statica e quindi dovevano essere assegnati solo una volta.
Tuttavia, la tecnologia plug-and-play dà al BIOS la libertà di modificare il numero di interrupt e gli indirizzi I/O che il controller del disco usa per evitare conflitti di risorse.
Con le connessioni Universal Serial Bus e IEEE 1394, i dispositivi possono essere collegati a caldo. In altre parole, possono apparire o scomparire senza preavviso.
Questo significa che il BIOS deve memorizzare le informazioni sulle risorse di sistema per ogni dispositivo di cui il sistema è a conoscenza, e farlo in modo dinamico in modo che le risorse di sistema, come il numero di interrupt, la gamma di indirizzi o l’identità del dispositivo, possano essere riassegnate senza richiedere un riavvio.
Thompson è uno specialista della formazione presso Metrowerks Inc. Contattatelo all’indirizzo [email protected].
Per visualizzare una versione PDF di questo diagramma cliccate sull’immagine qui sopra.
Computerworld Online-only Exclusive
Aggiornamento di un BIOS
Quando un computer deve essere aggiornato con nuovo hardware, come un disco rigido più grande, più memoria o una nuova scheda video, spesso si scopre che il BIOS del computer non supporta tutte le capacità del nuovo hardware. Forse la prova più drammatica di questo si è verificata quando i dischi rigidi sono cresciuti oltre i 4GB e poi 8GB di dimensione. A quel tempo, era abbastanza possibile installare, diciamo, un disco rigido da 12 GB e poi scoprire che il computer poteva usare solo i primi 8 GB.
La risposta al problema è aggiornare il chip del BIOS. La maggior parte dei computer prodotti negli ultimi anni possono avere i loro sistemi aggiornati da un programma flash, che installa nuove istruzioni e capacità. Normalmente, le informazioni e i file necessari per farlo sono disponibili sul sito web del produttore del computer o della scheda madre.
Purtroppo, è fondamentale capire quanto possa essere drastico un passo per aggiornare il BIOS. Prima di farlo, è una buona idea fare il backup di tutti i dati del disco rigido. Inoltre, vedete se c’è un ponticello di ripristino che vi permetterà di recuperare il BIOS originale. Anche se un aggiornamento del BIOS è di solito senza problemi, è possibile che il processo danneggi o distrugga il chip del BIOS e quindi renda il computer inutilizzabile.