[an error occurred while processing this directive]
diff logo Informatica e sistemi alternativi
su questo sito sul Web
    Home   Chi siamo    Contattaci    Scrivi per diff    Proponi un argomento 21/11/24
    Cos'è diff    Come accedere    F.A.Q.    Promuovi    Dicono di diff    Amici di diff    
AmigaOS
Linux
FreeBSD
BeOS
OpenSource
Java
Database
Informatica
Hardware
E-Commerce
Narrativa

La programmazione sotto SCSI
di Andrea Vallinotto


Qualche nozione preliminare.

Prima di incominciare la programmazione vera e propria, bisogna introdurre qualche nozione fondamentale che riguarda la visione dello SCSI da parte del programmatore (relativa quindi ai livelli Shared command set e Device-Type Specific Command Sets).
Tutte queste nozioni sono fondamentalmente mirate alla lettura degli standards disponibili presso la Home Page del TX310, cioè il comitato che definisce lo SCSI-3.
Va innanzitutto notato che i files disponibili su questo sito sono delle bozze dello SCSI vero e proprio: le versioni definitive non sono in libera distribuzione, ma sono pubblicate e vendute (a caro prezzo) dall'ANSI.

Utilizzando le bozze (in Inglese draft), non si rischia nulla, a patto di cercare sempre quelle più aggiornate possibile. Sul sito inoltre, sono ben segnalati quei documenti che rappresentano la stesura definitiva delle 'bozze', cioè quelle che si avvicinano il più possibile allo standard approvato dall' ANSI.

I testi che sono necessari per programmare lo SCSI sono innanzitutto lo SPC (o anche SPC-2, che però è ancora in fase di bozza) e quelli relativi ai singoli tipi di dispositivi (hard-disk, streamer, CD-ROM/RW/DVD, stampanti, ecc...).

Ad una prima lettura questi documenti risultano un po' ostici e quindi bisogna prendere un po' di tempo per abituarsi al linguaggio ed alla strutturazione interna. Sono scritti con una notevole pignoleria: ad esempio all'inizio di ogni documento sono definiti i significati dei termini Inglesi quali 'shall', 'should' e 'may'.
Questo però è giustificato dalle varie versioni fuori standard utilizzate spesso da varie industrie del settore: se il protocollo di riferimento non fosse più che preciso e pedante, ci sarebbe ancora più confusione di quella già esistente.

La struttura dei documenti è pressochè sempre la stessa; per i manuali di riferimento ad un singolo tipo di periferica, nei primi capitoli troviamo una definizione formale del device in questione, quindi l'elenco e descrizione dei comandi che possono essere utilizzati. Ogni comando nell'elenco può essere sengalato come 'M' = obbligatorio (mandatory in Inglese) oppure 'O' = opzionale (i comandi obbligatori sono pochissimi, ed è lasciato al fabbricante la facoltà di dare ad un determinato dispositivo un insieme più o meno ricco di comandi).

Segue quindi la descrizione minuziosa del comando, con una piccola introduzione, il CDB, e di seguito la spiegazione di tutti i campi del CDB. A volte ci sono delle tabelle esplicative nel caso in cui diversi campi siano da usare in maniera combinata.

Va sottolineato che questi documenti non sono testi divulgativi, ma strettamente tecnici: sono un buon esempio di testo scientifico. In essi, tutto ciò che è asserito va seguito alla lettera, e non c'è scritto niente di più del necessario. Tutto ciò che non segue queste specifiche è fuori standard, un'eresia (non esiste l'Inquisizione però. Anche perchè altrimenti molti produttori sarebbero sui carboni ardenti - letteralmente).






Andrea Vallinotto
Studente di Informatica all'Universtità degli Studi di Torino.
Utente e sviluppatore Amiga, programma, quando ha tempo, in C e ARexx.
Collabora come free-lance (senza sapere dove poi atterra) alla rivista francese AmigaNews.
Altri hobby: subacquea e viaggi.

Puoi contattare l'autore scrivendo a:
avallino@diff.org


Articoli dello stesso autore:
Annuncio AmigaOS 5 (DevCon '98)
Reportage dalla fiera di Colonia '98
Clickboom
Signorina, mi scusi lo SCSI
Introduzione alla programmazione
AmigaOS 3.5 è realtà
Utility ed inutilities per la rete e per Internet
I Love You: cronache del dopobomba
I Love You ed i sistemi nostrani


 



© 1999,2000,2001,2002 NonSoLoSoft di Ferruccio Zamuner (Italia)- tutti i diritti sono riservati