Hardware abstraction layer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Eskimbot (discussione | contributi)
m robot Aggiungo: zh:硬體抽象層
m Aggiunto il collegamento a "Scheda grafica" nell'introduzione
 
(39 versioni intermedie di 31 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 di parole con il nome
della ''[[IBM]]'', nota azienda costruttrice di [[hardware]],
in quanto le tre lettere H-A-L sono quelle che precedono le stesse lettere della I-B-M. Stando al parere di altre persone, il nome HAL è stato scelto come omaggio ai due principali metodi con cui il pensiero umano si manifesta: il ''pensiero [[euristico]]'' ("H"euristic) e il ''pensiero [[algoritmico]]'' ("AL"gorithmic); il primo basato sull'intuizione prima del ragionamento, il secondo basato sul metodo che ci porta in modo sequenziale, procedurale, alla soluzione di un problema.
[[Categoria:Sistema operativo]]
 
{{Portale|informatica}}
[[de:Hardware-Abstraktions-Schicht]]
 
[[en:Hardware abstraction layer]]
[[Categoria:Sistema operativo]]
[[es:Capa de abstracción de hardware]]
[[fr:Hardware abstraction layer]]
[[ko:하드웨어 추상화 계층]]
[[pt:Camada de abstracção de hardware]]
[[zh:硬體抽象層]]