Nella fase di POST ci sono soltanto due protagonisti, il BIOS ( Basic Input Output System ) ed il CMOS. Queste parti sono l’hardware di un computer ed il tutto risiede sulla scheda madre. Nel CMOS è memorizzata la descrizione di alcuni dispositivi hardware molto importanti per il funzionamento del computer, come la configurazione dei dischi rigidi o il tipo di scheda video installata.
Interfaccia grafica
Tramite un’opportuna interfaccia grafica l’utente può pilotare il comportamento dell’hardware come ad esempio la cache del disco rigido. Il BIOS contiene invece una serie di procedure, scritte in linguaggio assembler, per gestire l’hardware del computer. In pratica il BIOS può essere considerato come una libreria di funzioni per mezzo della quale il programmatore può interagire con l’hardware della macchina. Il BIOS si occupa sostanzialmente di due operazioni: fare il check-up dell’hardware e la lettura del sistema operativo dall’hard disk o altro supporto. Il BIOS deve quindi verificare l’hardware del computer e poi lasciare il controllo di questo al sistema operativo, se ci fosse qualcosa che non funziona il BIOS avvertirà l’utente con una serie di bip sonori.
Fase di accensione
All’accensione di un computer, gli ingegneri che hanno progettato l’hardware hanno fatto in modo che la CPU sia pronta ad eseguire un piccolo programma contenuto nel BIOS, ecco le fasi salienti che le istruzioni contenute nel programma compiono:Verifica della CPU
Il sistema operativo è la parte software della procedura e per eseguirla occorre avere una CPU che deve essere funzionante. Per verificare il corretto funzionamento della CPU si fa inserire a quest’ultima dei numeri in tutti i registri ( ax, bx, cx.. in una CPU x86 ) ed alla fine delle istruzioni si legge il valore di una cella di un registro, se il valore trovato è diverso da quello inserito allora il BIOS fa emettere 5 bit continui alla macchina.Verifica del ROM BIOS
Questo test serve per assicurarsi della consistenza del contenuto del BIOS, la procedura calcola una sorta di CRC comparato con quello pre-calcolato in fase di memorizzazione della ROM, se il test fallisce abbiamo 9 bip continui.Verifica del controller della tastiera
Il BIOS spedisce al controller della tastiera il comando esadecimale AA e di risposta è atteso il valore esadecimale 55, se qualcosa fallisce il BIOS emette 6 bip consecutivi.
CMOS
Il sistema verifica il CMOS e memorizza il risultato in una sezione dedicata della memoria. Se il test fallisce, il sistema operativo mostra un messaggio visivo all’utente.Timer dei canali 2, 1, 0
Il BIOS esegue il test sui timer. In caso di errore grave, emette segnali acustici (bip). Se rileva un problema minore, registra il risultato in memoria affinché il sistema operativo lo visualizzi solo dopo aver verificato la scheda video.Memory Refresh
Il sistema controlla il tempo necessario per eseguire un’operazione di refresh della memoria.RAM base 64KB
Il BIOS testa la lettura e la scrittura di tutte le celle dei primi 64 KByte di RAM. Se il test fallisce, emette tre bip sonori.Test della memoria CACHE
Il BIOS applica un algoritmo simile a quello usato per la RAM base, ma considera anche le caratteristiche del CMOS durante la verifica.Batteria del CMOS, options set & checksum
– Verifica il registro di stato del CMOS e del funzionamento dell’alimentazione.Verifica del tipo di video
Il BIOS controlla la scheda video. Se non riesce a utilizzarla, emette dei bip sonori per segnalare l’errore.Protected Mode
Tramite la procedura ( interrupt ) numero 15 del BIOS ( servizio 89 ), si esegue lo switch del processore in modalità protetta.Conclusione
Non mi dilungo su tutti gli altri test, ma sono molti, questo per fare in modo che tutto sia pronto a dare il controllo al sistema operativo, la conosciutissima fase di Boot-Strap, parola inglese che significa letteralmente “farcela da sé con le proprie forze”.