Hardware abstraction layer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Xqbot (discussione | contributi)
m Aggiunto il collegamento a "Scheda grafica" nell'introduzione
 
(20 versioni intermedie di 17 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]] preposto 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. {{citazione necessaria|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 ==
[[Categoria:Sistema operativo]]
[[sv:* {{FOLDOC||Hardware Abstraction Layer]]}}
 
{{Portale|informatica}}
[[cs:Hardware abstraction layer]]
 
[[de:Hardwareabstraktionsschicht]]
[[Categoria:Sistema operativo]]
[[en:Hardware abstraction layer]]
[[es:Capa de abstracción de hardware]]
[[fr:Couche d'abstraction matérielle]]
[[id:Lapisan abstraksi perangkat keras]]
[[ja:Hardware Abstract Layer]]
[[ko:하드웨어 추상화 계층]]
[[pl:Warstwa abstrakcji sprzętowej]]
[[pt:Camada de abstracção de hardware]]
[[ru:Hardware abstraction layer]]
[[sv:Hardware Abstraction Layer]]
[[uk:Шар апаратних абстракцій]]
[[zh:硬體抽象層]]