Come funziona il BIOS

Tutorial sul Basic Input/Outpost System, il software di basso livello che funge da interfaccia tra il sistema operativo e l’hardware

gennaio 2005 Nel PC, il BIOS è un prodotto a metà strada tra hardware
e software. Fondamentalmente è composto di software, ma è memorizzato per necessità
in un chip hardware, perché ha il compito di avviare il sistema quando viene
acceso il computer.

Il nome di Basic Input/Output System deriva dal fatto che
la sua funzione principale, in origine, era quella di intermediario tra l’hardware
della macchina e il sistema operativo, che a sua volta interfaccia con il software
applicativo.

In pratica, il BIOS è nato come un insieme di device driver, moduli software
che pilotano i dispositivi hardware.

Il BIOS originario
Agli inizi, quando il PC era quello di IBM, il software del BIOS conteneva tutti
i device driver per l’intero sistema, ed era registrato in uno o più chip di
una ROM (Read Only Memory) non volatile (manteneva i contenuti
anche dopo lo spegnimento del computer) montata sulla scheda madre.Questa ROM,
oltre ai device driver, conteneva dei programmi che esistono tuttora.

Il primo è il test dell’hardware eseguito all’accensione (POST, Power
On Self Test
). Il secondo è il bootstrap loader, il
programma che avvia la sequenza di caricamento del sistema operativo partendo
dai settori iniziali di un disco. Il terzo è il BIOS setup
per configurare il sistema.

Una volta caricato in memoria, il DOS dei primi tempi utilizzava le routine
di basso livello del BIOS (i device driver) per interagire con l’hardware: tastiera,
adattatore video, porte seriali e parallela, floppy e hard disk, joystick e
orologio. Gli unici driver erano, insomma, quelli del BIOS.

Il BIOS non è nato con il PC e il DOS di Microsoft. Quest’ultimo si è ispirato
al precedente CP/M (Control Program for Microcomputers), che
aveva un’architettura a tre strati: l’utente immetteva comandi nel CCP
(Command Control Processor)
, che li traduceva in istruzioni ad alto
livello per il BDOS (Basic Disk Operating System), il quale
a sua volta le traduceva in istruzioni a basso livello per il BIOS, che conteneva
il codice specifico per l’hardware installato.

Il BIOS cresce
Questo meccanismo funzionò finché, per ogni periferica aggiunta al sistema,
vi era un opportuno driver nel BIOS. Quando questo non fu più garantito, si
trovarono due soluzioni.

Se l’hardware aggiunto era una scheda (ad esempio un adattatore video), questa
poteva avere a bordo una ROM con i driver. Negli altri casi, i driver erano
software su disco, elencati nel file Config.sys del DOS, in modo da essere caricati
all’avvio del sistema.

Il software del BIOS, pur distribuito in più punti, funzionava come una singola
entità. Quando il software (di sistema o applicativo) doveva interagire con
una periferica, eseguiva un’istruzione di software interrupt; in base a una
tabella, il sistema operativo passava il controllo al driver specifico per quella
periferica, sia che fosse nella ROM del BIOS di sistema, nella ROM di una scheda
aggiuntiva, oppure nella RAM di sistema (in precedenza caricato da disco).

Il software scritto in ROM era anche chiamato firmware, perché
parte integrante dell’hardware dell’azienda (firm) produttrice.

L’architettura del primo PC dedicava 128 KB al BIOS, di cui gran parte occupati
dal POST, dal programma di setup e dal bootstrap loader. Tutti i driver nelle
ROM su scheda avevano a disposizione, collettivamente, 128 KB, di cui 32 usati
dalla scheda video. In seguito la maggior parte dei driver fu scritta in software,
da caricare in memoria all’avvio del sistema.

Altri componenti
Prima di proseguire con l’evoluzione del BIOS, vediamo alcuni suoi partner.
La CMOS RAM, un chip di memoria RAM (quindi in sé volatile)
che conserva la configurazione del computer, determinata dai componenti installati
e dalle personalizzazioni che l’utente ha apportato tramite il programma di
setup contenuto nel BIOS.

Per rendere permanente (non volatile) la configurazione del sistema una batteria,
di solito al litio, alimenta questa RAM. Dato che questa memoria è di tipo CMOS
(Complementary Metal Oxide Semiconductor), il suo consumo di corrente è dell’ordine
dei microampere, quindi la batteria dura per anni.

Oltre alla CMOS RAM e alla batteria, un altro partner del BIOS è l’orologio
di sistema (Real Time Clock), anch’esso integrato nella scheda
madre.

A volte l’orologio è stato implementato in un chip insieme alla batteria, ma
oggi è solitamente parte del southbridge, il componente del
chipset di sistema che controlla tutte le interfacce di I/O, tranne quelle più
veloci.

Quando all’avvio del sistema ci viene offerto di entrare nel setup del BIOS
(premendo Del, F2 o altro tasto), entriamo nel programma e salviamo le modifiche
nella memoria CMOS. Se all’accensione di un vecchio computer tornano i valori
di default o si verificano altri inconvenienti, è ora di sostituire la batteria.

Tipi di ROM
Nel tempo, le memorie di sola lettura si sono evolute. Le prime ROM erano prodotte
con un contenuto fisso e invariabile; le successive PROM (Programmable
ROM) erano programmabili una sola volta con un piccolo dispositivo da laboratorio,
PROM burner.

Le EPROM (Erasable PROM) erano cancellabili tramite luce ultravioletta,
sopra i chip c’è una finestrella di quarzo; le attuali EEPROM
(Electrically Erasable PROM) possono essere cancellate e riprogrammate elettricamente,
con il risultato che ogni utente può modificarne il contenuto.

Oggi, per aggiornare il BIOS di una scheda madre (per adeguarlo, per esempio,
ai nuovi processori o alle maggiori capacità degli hard disk), ci si procura
il programma di aggiornamento e il file con il nuovo BIOS presso il sito del
produttore. Ogni modello, a volte anche ogni versione, di motherboard ha il
suo BIOS specifico.

continua…

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome