Che cos’è un livello di astrazione hardware?

Un livello di astrazione hardware è un metodo per nascondere l’hardware fisico dal software del computer. Il livello funge da intermediario, separando l’hardware e il software l’uno dall’altro. Inoltre, maschera l’uno dall’altro i processi effettivi dei due sistemi. Lo scopo principale di questo livello è consentire l’esecuzione del software su hardware su cui non è stato specificamente concepito per l’esecuzione. Sebbene quasi tutti i sistemi operativi utilizzino questi livelli in una certa misura, sono più comuni nei sistemi di emulazione e embedded.

L’architettura del computer è strutturata a strati. Il computer inizia con il livello hardware e si sviluppa fino all’applicazione, o software, livello. Ogni passaggio di livello si avvicina al software e si allontana dall’hardware. Inoltre, ogni passaggio richiede più elaborazione e risorse per funzionare. Ad esempio, il kernel del sistema è uno dei componenti software fondamentali del sistema, ma è più complesso e dispendioso in termini di risorse rispetto all’hardware su cui si trova e meno del sistema operativo che lo richiede per l’esecuzione.

In genere, ciascuno di questi livelli è costituito da componenti reali, hardware o software. Un livello di astrazione hardware è un po’ di entrambi. È un sistema software che si comporta come un sistema hardware. Si trova tra il kernel del computer e i sistemi hardware. Il compito del livello di astrazione hardware è mascherare la maggior parte del sistema e far credere al kernel che stia operando su un diverso insieme di hardware. Quando l’hardware e il kernel comunicano, il livello di astrazione hardware traduce le informazioni avanti e indietro.

Il motivo più comune per utilizzare un livello di astrazione hardware è consentire l’esecuzione del software su hardware su cui non dovrebbe trovarsi. Il livello si trova sopra l’hardware e consente l’installazione di un sistema operativo e delle applicazioni. In sostanza, fa sì che gli strati all’interno del computer si diramano in due percorsi diversi. Un percorso segue il vero hardware del sistema mentre l’altro segue la versione astratta.

Quasi ogni sistema operativo ha una piccola quantità di astrazione incorporata. Ciò consente al sistema di eseguire una gamma più ampia di macchine, a condizione che rientrino in un ampio set di parametri. Questo tipo di astrazione è così minore e comune che raramente viene indicato come livello di astrazione hardware.

La vera astrazione si trova tipicamente in uno dei due posti. L’emulazione hardware consente a un sistema operativo completo e ai programmi di funzionare su un computer per cui non sono stati creati. Questa forma di astrazione è comune a quasi tutti i computer moderni, poiché diversi programmi web funzionano attraverso sistemi virtuali. I sistemi embedded sono del secondo tipo. Questi piccoli sistemi operativi eseguono di tutto, dalle auto alle caffettiere e spesso utilizzano un livello di astrazione hardware per aumentare il numero di dispositivi che possono utilizzare il sistema senza modifiche.