Utente:Venerdi/Sandbox

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca


HAL è un progetto di software che fornisce un livello di astrazione hardware per sistemi Unix-like. Esso mira a consentire alle applicazioni desktop di scoprire e utilizzare l'hardware del sistema host attraverso un semplice, portatile e astratto API, indipendentemente dal tipo di hardware sottostante [1].

HAL è stato originariamente concepito da Havoc Pennington e ora è un progetto freedesktop.org, essendo una parte fondamentale del software stack del ambienti desktop GNOME e KDE. Si tratta di software libero, dual-sia sotto licenza GNU General Public License e la Academic Free License [2].

HAL è deprecato, con funzionalità si fonderà con udev come del 2008-2010; vedere deprecato, qui di seguito. In precedenza, HAL è stato costruito sulla cima di udev, che è stato più basso livello.

HAL non è correlato al concetto precedente di Windows HAL kernel NT (anche in versioni attuali di Windows), che gestiscono alcune funzionalità specifiche della piattaforma di base all'interno del kernel, come interrupt di routing.

Motivazioni[modifica | modifica wikitesto]

Tradizionalmente, il kernel del sistema operativo è stato incaricato di fornire un'interfaccia astratta l'hardware del sistema di correre. Applicazioni utilizzate l'interfaccia di chiamata di sistema, o realizzate con file di I / O su nodi di dispositivo per poter comunicare con l'hardware attraverso queste astrazioni. Ciò è bastato per l'hardware semplice di desktop computing precoce.

hardware del computer, tuttavia, è aumentato in complessità e le astrazioni fornite dal kernel Unix non hanno tenuto il passo con il numero proliferare di dispositivi e tipi di periferiche ormai comune su entrambi i server ei computer desktop. La maggior parte dei moderni autobus sono diventati anche hotplug-capace e può avere topologie non banali. Di conseguenza, i dispositivi vengono scoperti o stato di cambiare in modi che possono essere difficili da individuare tramite l'interfaccia di chiamata di sistema Unix o IPC. La complessità di fare le forze di autori così applicazione a re-implementare il supporto logica hardware [1].

Alcuni dispositivi richiedono anche programmi di supporto privilegiato per prepararli per l'uso. Questi devono spesso essere invocata in modi che possono essere scomode per esprimere con il modello di Unix permessi (per esempio, consentendo agli utenti di accedere alle reti wireless solo se sono connesso al video console) [1]. Application ricorrere agli autori di utilizzare i binari setuid o demoni servizio gestito per fornire il proprio controllo e la separazione dei privilegi di accesso, introducendo potenzialmente buchi di sicurezza ogni volta.

Design[modifica | modifica wikitesto]

HAL è un demone unico responsabile per la scoperta, l'enumerazione e mediare l'accesso alla maggior parte dei componenti hardware del computer host. Applicazioni di comunicare con HAL attraverso il meccanismo IPC D-Bus, che astrae l'hardware dietro un meccanismo basato sugli oggetti RPC.

Ogni dispositivo hardware logico è rappresentato come un oggetto di D-Bus, l'autobus e il suo indirizzo è usato come un identificatore univoco. Dispositivi comprendono astrazioni come le partizioni del disco e visibili delle reti wireless. funzionalità del dispositivo è esposto attraverso interfacce D-Bus, e il suo stato si accede tramite le proprietà, un insieme di coppie chiave-valore.

trasmissioni HAL hardware eventi come segnali per questi oggetti: le applicazioni possono ascoltare ascolto per queste di reagire a eventi hardware (come ad esempio una fotocamera digitale viene collegato, un disco ottico gira verso l'alto o un computer portatile chiudendo il suo coperchio) [3].

Implementazioni e obsolescenza[modifica | modifica wikitesto]

Su Linux, HAL utilizza il filesystem / sys per scoprire l'hardware e l'ascolto degli eventi hotplug kernel. Alcune distribuzioni di Linux forniscono anche una regola di udev per consentire il demone udev per notificare HAL ogni volta che appaiono nuovi nodi di dispositivo.

Deprecato

A partire dal 2009, le distribuzioni come Ubuntu, [4] Debian, [5] e Fedora, [6], e progetti come GNOME e X.org sono in procinto di HAL deprecare come è "diventare una grande confusione monolitico impossibile da mantenere" [4]. E 'in procinto di essere uniti in udev (udev principale, libudev e udev-extras) e udev esistenti e la funzionalità del kernel. versione di Ubuntu 10,04 HAL rimuove dal processo di boot [7].

All'inizio di un nuovo demone DeviceKit era previsto per sostituire alcuni aspetti di HAL, ma nel marzo del 2009, DeviceKit fu abbandonato a favore di aggiungere lo stesso codice a udev come un pacchetto: udev-extras, e alcune funzioni sono ora spostati udev corretta.

Voci correlate[modifica | modifica wikitesto]

  • DeviceKit – sostituzione di breve durata per HAL, ora incorporata in udev
  • udev – basso livello su cui si basa HAL, e di sostituzione per HAL

Riferimenti[modifica | modifica wikitesto]


Collegamenti esterni[modifica | modifica wikitesto]

  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero

[[Categoria:Freedesktop.org]]