11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.4. LA GESTIONE DI INTERFACCE E PERIFERICHE 225PCI del computer, e a cui si collegano le altre periferiche utilizzando gli appositi connettori. Unsingolo controller può gestire anche più bus, nel qual caso sarà in grado di alloggiare più connettori.Tutte le periferiche sul bus, compreso l’unità di controllo, vengono identificate attraversoun indirizzo di identificazione, detto SCSI ID.Figura 5.6: Strutturazione del supporto alle interfacce SCSI nel kernel.Nel caso di <strong>Linux</strong> il supporto SCSI è presente fin dalle prime versioni del kernel, ma dato chelo standard prevede vari tipi di periferiche a partire dal kernel 2.4 il sistema è stato organizzatosu tre livelli, secondo lo schema illustrato in fig. 5.6. Al livello più alto, utilizzati direttamente daiprogrammi quando accedono ai relativi file di dispositivo, stanno i driver per le periferiche chesi trovano sul bus, come CD, nastri o dischi, ciascuno dei quali richiede una modalità d’accessodistinta; a questi si aggiunge il supporto generico che viene usato come interfaccia per inviaredirettamente comandi ad una periferica (che viene usato per pilotare dispositivi particolari comegli scanner o i masterizzatori).Il livello intermedio costituisce il collante fra i driver dei dispositivi finali ed i driver che invecesi occupano di gestire i controller per l’accesso al bus, che saranno diversi a secondo della schedaSCSI utilizzata. Oltre a quest’ultimi però si situano a questo livello anche tutti i moduli checonsentono di utilizzare il protocollo SCSI per controllare dispositivi posti su altre interfacce; adesempio il protocollo viene utilizzato sia per accedere ai dischi sul bus USB (che siano memoriea stato solido o veri e propri hard disk), che per utilizzare i masterizzatori IDE attraverso unmeccanismo di emulazione; in tal caso i comandi del protocollo SCSI, invece di diventare segnalielettrici su connettore attaccato ad un controller, saranno inviati su un bus virtuale fornito daldriver per il supporto di dette funzionalità.Le periferiche accedute tramite interfaccia SCSI sono identificate attraverso quattro numeri:il primo è l’host adapter number che identifica, come il nome stesso indica, quale è l’interfaccia(in genere la scheda col controller, ma può essere anche l’interfaccia di un bus virtuale) concui si accede ai dispositivi; il numero viene assegnato dal kernel all’avvio a seconda dell’ordinein cui rileva le schede presenti o di quando viene abilitato il supporto per bus virtuali che siutilizzeranno. L’host adapter number è un numero progressivo che parte da zero.Il secondo numero è il cosiddetto channel number, che identifica ciascun bus (detto anche, inaltra nomenclatura, canale SCSI) associato ad un host adapter; alcuni controller infatti possonogestire più di un bus, e questi saranno numerati progressivamente a partire da zero, nell’ordinein cui l’adatattore stesso li presenta (che dipenderà ovviamente da come è fatto quest’ultimo).Anche questo è un numero progressivo che parte da zero.All’interno di ciascun canale si avrà poi l’identificativo del singolo dispositivo posto su diesso (lo SCSI ID di cui abbiamo già parlato). In genere sui dispositivi questo viene stabilito

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!