Template:Software2

Udev è il gestore dei dispositivi per il kernel linux 2.6. Viene eseguito in user space e amministra dinamicamente i device file in /dev per ogni periferica rilevata nel sistema.

Introduzione modifica

Udev è un generico gestore di dispositivi del kernel. Viene eseguito come demone in un sistema Linux e ascolta gli eventi uevent inviati dal kernel (tramite socket netlink) quando un nuovo dispositivo viene collegato o rimosso dal sistema.

A differenza dei tradizionali sistemi Unix, dove i dispositivi a blocchi o a caratteri sono rappresentati da un insieme statico di file in /dev, udev permettte di gestire dinamicamente la creazione / rimozione di questi file speciali, mantenendo solo i nodi relativi ai dispositivi presenti nel sistema.

Udev, inoltre, rispetto a devfs presenta alcuni vantaggi[1]:

  • supporta l'assegnazione persistente dei nomi dei device, anche quando essi sono collegati in ordine o posizione differente;
  • viene eseguito interamente in user space, di conseguenza i criteri per l'assegnazione dei nomi vengono definiti al di fuori del kernel;
  • devfs, a differenza di udev, mantiene la base di dati con i nomi dei dispositivi nello spazio di memoria persistente del kernel.

Architettura modifica

Il sistema è diviso in tre parti:

  • la libreria libudev, che consente l'accesso alle informazioni relative agli eventi e ai dispositivi presenti nella base di dati di udev;
  • il demone udevd, nello spazio utente, che gestisce il filesystem virtuale /dev;
  • il comando amministrativo udevadm per il debugging, la gestione degli eventi e il controllo a runtime del demone udevd.

Utilizzo modifica

Il sistema fornisce un insieme di regole associate a certi eventi e proprietà del dispositivo rilevato. Attraverso le regole si potrà associare un nome al dispositivo ed eseguire eventuali comandi necessari per la sua installazione e configurazione.

Un modo comune di usare udev su sistemi Linux è di fargli inviare eventi attraverso una socket a HAL o DeviceKit, che eseguiranno ulteriori azioni specifiche per il dispositivo. Ad esempio, quando un nuovo hardware viene rilevato, HAL / DeviceKit avviserà gli altri software in esecuzione, trasmettendo un messaggio broadcast sul sistema D-Bus IPC a tutti i processi interessati. In questo modo, desktop environment come GNOME o KDE possono aprire un file browser quando viene collegata una chiavetta di memoria USB oppure una scheda SD.[2]

Note modifica

  1. ^ (EN) Greg Kroah-Hartman, Udev - A Userspace Implementation of devfs (PDF), su kroah.com, 26 luglio 2003. URL consultato il 7 gennaio 2011.
  2. ^ (EN) Dynamic Device Management in Udev (PDF), su w3.linux-magazine.com, Linux Magazine, 1º giugno 2006. URL consultato il 7 gennaio 2011.

Collegamenti esterni modifica

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

[[Categoria:Software libero di sistema]] [[Categoria:Linux]]