Hardware abstraction layer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Xqbot (discussione | contributi)
mNessun oggetto della modifica
Riga 1:
'''Hardware Abstraction Layer''' ('''HAL''') o '''strato di astrazione dall'hardware,''' è un insieme di funzioni di I/O il più possibile generiche e semplici, il cui compito è di tenere conto di tutte le differenze fra dispositivi fisici diversi al posto del programma che lo userà, nascondendogli la vera identità e natura di essi: per esempio il programma, invece di aprire personalmente un file chiederà all'HAL di farlo per lui e l'HAL, appena esaudita la richiesta, gli passerà un riferimento al file per la lettura (o lo leggerà per lui).
 
Dotando un programma di un HAL se ne migliora la portabilità su altri tipi di [[computer]]/[[sistema operativo|sistemi operativi]] e la funzionalità con dispositivi diversi, perché eventuali modifiche e adattamenti vanno fatti solamente nell'HAL senza toccare il codice del programma stesso; inoltre è relativamente facile aggiungere, all'occorrenza, una sezione all'HAL per gestire un dispositivo che non era stato inizialmente previsto.
Riga 7:
La HAL può essere utilizzata per emulare componenti non presenti nel sistema operativo o nell'hardware. Per esempio le moderne schede grafiche non gestiscono nativamente le modalità CGA, EGA o VGA. Queste modalità vengono emulate dall'HAL che provvede a tradurre le istruzioni che gestiscono queste modalità in comandi comprensibili dalla scheda grafica. L'emulazione utilizzando una HAL viene utilizzata in molti sistemi per consentire la retro compatibilità con applicazioni arcaiche.
 
== Vedi anche ==
* [[Hardware abstraction]]
* [[HAL (software)|HAL]]
* [[DeviceKit]]
* [[Nanokernel]]
 
{{Portale|informatica}}
 
[[Categoria:Sistema operativo]]