Hardware abstraction layer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
LeonardoRob0t (discussione | contributi)
m robot Aggiungo: pt
m Aggiunto il collegamento a "Scheda grafica" nell'introduzione
 
(45 versioni intermedie di 36 utenti non mostrate)
Riga 1:
{{F|sistema operativo|febbraio 2013}}
'''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 (informatica)|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.
 
I moderni sistemi operativi sono dotati di uno o più livelli di HAL. La HAL viene utilizzata normalmente per separare i programmi dai sistemi di comunicazione. Quindi i programmi non accedono mai alla memoria della [[scheda grafica]] quando devono modificare l'immagine mostrata sullo schermo. I programmi comunicano al sistema operativo le operazioni da compiere e il sistema operativo provvede a effettuare le modifiche necessarie. Questo consente di modificare l'[[hardware]] depostopreposto alla visualizzazione senza dover modificare tutti i programmi. Basta modificare lo strato che accede all'hardware, questo comunemente viene chiamato [[driver]].
 
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. Molte banche utilizzano computer moderni con programmi arcaici tramite programmi di emulazione che interpongono una HAL tra l'hardware moderno e il [[software]] arcaico.
 
== Voci correlate ==
----
* [[DeviceKit]]
 
== Collegamenti esterni ==
'''HAL 9000''' è pure il nome del computer nel film "[[2001 Odissea nello spazio]]" di [[Stanley Kubrick]].
* {{FOLDOC||Hardware Abstraction Layer}}
Pare che il nome sia un gioco con il nome
della ''[[IBM]]'', nota azienda costruttrice di [[hardware]],
in quanto le tre lettere H-A-L solo quelle che precedono le stesse lettere della I-B-M.
[[Categoria:Sistema operativo]]
 
{{Portale|informatica}}
[[de:Hardware-Abstraktions-Schicht]]
 
[[en:Hardware abstraction layer]]
[[Categoria:Sistema operativo]]
[[pt:Camada de abstracção de hardware]]