# Power-on self-test

Il power-on self-test (ovvero POST), in informatica, indica la fase di auto diagnosi di personal computer (come anche di altri dispositivi, ad esempio router e stampanti) avviata automaticamente dal BIOS all'accensione per testare il corretto funzionamento dell'hardware prima dell'avvio delle successive fasi del processo di bootstrap. Oltre al funzionamento della scheda madre il POST può verificare anche il funzionamento delle periferiche più comuni, come ad esempio mouse, tastiera e scheda video.

## Storia

Inizialmente il POST non veniva eseguito via software, ma attraverso speciali schede aggiuntive che lavorando a basso livello permettevano il caricamento del software che avrebbe successivamente eseguito il boot. Per poter visualizzare gli errori in fase di diagnosi le prime schede POST utilizzavano dei beep sonori, oppure, se presente nella scheda, uno o più display a sette segmenti, che indicavano il numero di errori. Non potendo accedere inizialmente al monitor era impossibile configurare il BIOS e perciò si rendeva necessario riprogrammare di volta in volta la ROM. I primi POST visuali consistevano in una inizializzazione semplice della scheda grafica e nella visualizzazione sullo schermo di una o più bande di colori, che rappresentavano l'errore.
Dalla fine del XX secolo il compito del POST è rimasto pressoché invariato eccetto il supporto di nuove tecnologie; infatti solo nei BIOS recenti è stato implementato il supporto ai dispositivi USB sia per il boot che per l'utilizzo con le funzioni del bios. Infatti, nei vecchi computer non è possibile accedere alle funzioni del BIOS con tastiere USB perché non riconosciute.
I più moderni PC non mostrano di default direttamente all'utente il POST, ma bisogna premere un pulsante (solitamente F12) per far scomparire il logo della casa produttrice e visualizzare i dati del POST. Inoltre è sempre più diffusa l'opzione che permette la visualizzazione di un menù per scegliere il boot da eseguire, senza necessariamente agire sulla configurazione.

## Descrizione

All'accensione del sistema viene caricato dalla ROM il primo programma del BIOS che effettuerà il POST. Successivamente sarà il programma stesso a dover caricare ulteriori software per la gestione di alcuni task atti ad inizializzare specifiche periferiche, in particolar modo schede video e dispositivi SCSI.
Nel corso del processo di POST i passi che vengono generalmente eseguiti sono i seguenti:
* verifica dell'integrità dello stesso codice del BIOS;
* determinazione della causa che ha innescato il processo di POST (accensione, risveglio dallo standby, ecc.);
* individuazione, determinazione della dimensione e verifica della memoria primaria del sistema;
* individuazione, inizializzazione e catalogazione di tutti i bus ed i device del sistema;
* (se necessario) rilascio del controllo del processo a BIOS specializzati (ad esempio BIOS video);
* rendere disponibile un'interfaccia utente per la configurazione del sistema (alla pressione di un predeterminato tasto);
* identificare, organizzare e selezionare i device pronti per la continuazione della fase di bootstrap;
* avvio del programma di boot.
In caso di errori, oltre che con specifici messaggi, o codici, visualizzati sul video, l'esito del test viene manifestato con una sequenza di segnali acustici ("beep") emessi dall'altoparlante del sistema che indicano la periferica guasta e il tipo di problema riscontrato, anche in assenza di display. La sequenza dei "beep", secondo la "Beep Error Codes" del relativo produttore, identificativa dell'eventuale problema riscontrato varia in relazione al costruttore del BIOS.