Capitolo 22. Informazioni aggiuntive per gli utenti di IBM System z
22.1. File system sysfs
Il kernel 2.6 di Linux ha introdotto il file system
sysfs
. Il file system sysfs
viene descritto come l'unione tra proc
, devfs
, e devpty
. sysfs
è in grado di enumerare i dispositivi ed i bus collegati al sistema, in una gerarchia di file system accessibile da uno spazio utente. È stato creato per gestire le opzioni specifiche del dispositivo e del driver, precedentemente contenute in /proc/
, e comprende un'aggiunta dinamica del dispositivo precedentemente offerta da devfs
.
Il file system
sysfs
viene montato su /sys/
, e contiene le directory in grado di organizzare i dispositivi collegati in modo diverso al sistema. Le sottodirectory del file system /sysfs/
includono:
- La directory
/devices/
Questa directory contiene la directory/css0/
. Le proprie subdirectory rappresentano tutti i sottocanali rilevati dal kernel di Linux. Le directory del sottocanale hanno il seguente formato0.0.nnnn
, dove nnnn è il numero del sottocanale espresso in esadecimali ed è compreso tra 0000 e ffff. Le directory del sottocanale contengono, a turno, il file relativi allo stato ed un'altra sottodirectory che rappresenta il dispositivo vero e proprio. La directory del dispositivo presenta il seguente formato0.0.xxxx
, dove xxxx rappresenta l'indirizzo dell'unità per il dispositivo. La directory/devices/
contiene anche le informazioni relative allo stato, insieme alle opzioni di configurazione per il dispositivo. - La directory
/bus/
Questa directory contiene le sottodirectory/ccw/
e/ccwgroup/
. I dispositivi CCW sono accessibili utilizzando le parole del canale di comando. I dispositivi presenti nella directory/ccw/
, utilizzano solo un sottocanale per dispositivo. Per esempio, un dispositivo DASD 3390-3, utilizza un sottocanale, mentre un collegamento di rete QDIO per un adattatore OSA, utilizza tre sottocanali. Le directory/ccw/
e/ccwgroup/
contengono delle directory chiamate driver e dispositivi:La directory/devices/
contiene un link simbolico per le directory del dispositivo all'interno della directory/sys/devices/css0/
.La directory/drivers/
contiene le directory per ogni driver del dispositivo caricato sul sistema. I driver associati con i dispositivi, come ad esempiodasd
,console
,qeth
, ezfcp
, hanno qui le proprie entry della directory. La directory/driver/
contiene le impostazioni per il driver del dispositivo, insieme ad un link simbolico per i dispositivi utilizzati (nella directory/sys/devices/css0/
). - La directory
/class/
Questa directory contiene le directory che raggruppano dispositivi simili come ad esempio ttys, unità nastro SCSI, dispositivi di rete, e altri dispositivi generali. - La directory
/block/
Questa directory contiene delle directory per ogni dispositivo a blocchi presente sul sistema. Essi sono simili a dei dispositivi a disco come ad esempio il real DASD, i dispositivi loopback, ed i dispositivi software raid block. La differenza più sostanziale tra i sistemi Linux più vecchi e quelli che usanosysfs
, è la necessità di fare riferimento ai dispositivi tramite il loro nomesysfs
. Su di una immagine del kernel 2.4, il driverzFCP
viene passato come gli indirizzi del dispositivo. Sulla versione 2.6 del Kernel invece, il driver viene passato come0.0.1600
.