Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1102

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Linux Serial HOWTO: Un piccolo passo avanti...</TITLE>
<LINK HREF="Serial-HOWTO-14.html" REL=next>
<LINK HREF="Serial-HOWTO-12.html" REL=previous>
<LINK HREF="Serial-HOWTO.html#toc13" REL=contents>
</HEAD>
<BODY>
<A HREF="Serial-HOWTO-14.html">Avanti</A>
<A HREF="Serial-HOWTO-12.html">Indietro</A>
<A HREF="Serial-HOWTO.html#toc13">Indice</A>
<HR>
<H2><A NAME="s13">13. Un piccolo passo avanti...</A></H2>

<P>Non &egrave; necessario leggere questa sezione, ma pu&ograve; fornirvi ulteriori informazioni approfondite su Unix e il mondo delle telecomunicazioni.
<P>
<H2><A NAME="ss13.1">13.1 Che cosa sono i lock file?</A>
</H2>

<P>I lock file sono semplici file che indicano che una particolare periferica &egrave; in uso. Si trovano in <CODE>/usr/spool/uucp</CODE> oppure <CODE>/var/lock</CODE>.
I file lock di linux utilizzano la seguente denominazione <CODE>LCK..</CODE><EM>name</EM>, dove <EM>name</EM> &egrave; il nome della periferica, oppure il nome UUCP. Alcuni processi creano questi lock file per assicurarsi un accesso esclusivo alla periferica.
Per esempio, se chiamate all'esterno con un modem, un file lock
apparir&agrave; indicando che qualcuno sta gi&agrave; utilizzando quella periferica
modem. I file lock spesso contengono il PID del processo che ha
bloccato la periferica. 
Molti programmi cercano il lock, e controllano che sia ancora valido verificando la presenza dell'applicazione che lo detiene nella tabella dei processi. Se il lock &egrave; ancora valido, il programma esce ( o per lo meno dovrebbe farlo ). Se invece non &egrave; pi&ugrave; valido, allora l'applicazione rimuove questo lock e utilizza la periferica, creando un nuovo lock file. Altri programmi invece terminano indicando solo che la periferica &egrave; in uso.
<P>
<H2><A NAME="ss13.2">13.2 ``baud'' Vs. ``bps''</A>
</H2>

<P>``baud'' e ``bps'' sono probabilmente i due termini usati pi&ugrave;
impropriamente nel mondo informatico e delle telecomunicazioni. Molte
persone utilizzando questi termini indifferentemente, quando invece la
storia non sta cos&igrave;. 
<DL>
<DT><B>baud</B><DD><P>La misura baud indica quante volte al secondo un segnale, per esempio
emesso da un modem (<B>mo</B>dulatore-<B>dem</B>odulatore), cambia. Per
esempio, una baud rate di 1200 indica che un segnale cambia ogni 833
microsecondi. Baud rate comuni per i modem sono 50, 75, 110, 300, 600,
1200 e 2400. Molti modem ad alta velocit&agrave; utilizzano hanno una baud
rate a 2400. Per le limitazioni sulle linee telefoniche per voce una
baud rate maggiore di 2400 &egrave; molto difficile da raggiungere, e forse
funziona unicamente su linee con un segnale molto chiaro, senza
interferenze. Molteplici bit possono essere gestiti per ogni baud,
quindi il bit rate pu&ograve; superare notevolmente il baud rate. Il Baud
prende il nome da Emile Baudot, l'inventore del telegrafo stampante
asincrono. 
<P>
<DT><B>bps</B><DD><P>La misura in bps indica invece quanti bit per secondo sono trasmessi. Modem moderni trasmetto a 14.4K , 28.8K, 33.6K e 56K bps. Usando un modem con la compressione V.42 ( compressione massima 4:1 ), &egrave; possibile raggiungere i 115.2K bps.
Questo &egrave; ci&ograve; che molte persone confondono con i baud.
<P>
</DL>
        
Quindi, se un modem ad alta velocit&agrave; opera a 2400 baud, come pu&ograve;
inviare dati a 14400 bps ( o superiori )? I modem possono raggiungere
elevato indice di velocit&agrave; in bps ( superiore a quello in baud )
codificando un maggior numero di bit per ogni baud. Per questo il
valore in bps sar&agrave; maggiore di quella in baud. Ad esempio se il vostro
modem effettua un collegamento a 14400 bps significa che &egrave; collegato a
2400 baud ed inserisce in ogni cambiamento di fase 6 bit.
<P>Come &egrave; iniziata questa confusione? Beh, quando un tempo i vecchi modem
lenti erano considerati veloci, spesso la velocit&agrave; in baud era
equivalente a quella in bps. Un solo bit era inserito in ogni
cambiamento di fase. I termini baud e bps erano utilizzabili
indifferentemente, poich&eacute; corrispondevano allo stesso vlore. La
confusione &egrave; iniziata quando i modem pi&ugrave; moderni, che offrono
prestazioni migliori in termini di velocit&agrave;, hanno un indice in bps
maggiore a quello in baud. 
<P>
<H2><A NAME="uart"></A> <A NAME="ss13.3">13.3 Che cosa sono gli UART? Come incidono nelle prestazioni?</A>
</H2>

<P> 
Gli UART (<B>U</B>niversal <B>A</B>synchronous <B>R</B>eceiver
<B>T</B>ransmitter) sono dei circuiti della vostra scheda seriale ( se
ne avete una ) o sulla scheda madre del vostro PC. 
La funzione di questi UART possono essere eseguite anche da processori
che effetuano anche altri tipi di operazioni. La finalit&agrave; dei UART &egrave;
quella di convertire i dati in bit, inviare questi alla linea seriale,
e quindi ricostruire nuovamente i dati presso l'altra estremit&agrave; della
connessione seriale. Gli UART si scambiano dati in pacchetti
dimensionati in byte, scelto per convenienza poich&eacute; corrispondono al
numero di caratteri ASCII. 
<P>Immaginate di avere un terminale connesso al vostro PC. Quando digitate un carattere, il terminale passa quel carattere al trasmettitore ( quindi anche un UART ). Questo invia quel byte sulla linea seriale, un bit alla volta,  ad un valore predefinito. La UART del PC al quale &egrave; connesso il terminale riceve questi dati in bit, e li riconverte in byte e li inserisce in un buffer.
<P>Esistono due tipi diversi di UART. Probabilmente avrete sentito parlare dei UART `stupidi' ( i modelli 8250 e 16450 ) e di quelli FIFO ( modello 16550A ).
Per capire queste differenze, per prima cosa esamineremo cosa succede quando un UART ha inviato oppure riceve dei dati.
<P>L'UART di per s&egrave; non controlla in nessuno modo i dati, li invia e li
riceve solamente. Per l'UART originale la CPU ottiene un interrupt
dalla periferica seriale ogni volta che un byte viene inviato o
ricevuto. La CPU quindi preleva il byte ricevuto dal buffer dell'UART
e lo inserisce da qualche parte nella memoria, oppure assegna all'UART
un altro byte da inviare. Gli UART 8250 e 16450 hanno un buffer di 
1 solo byte. Questo significa che ogni volta che 1 byte viene inviato
o ricevuto la CPU viene interrotta. A velocit&agrave; basse pu&ograve; andare
bene. Ma ad alta velocit&agrave; la CPU diventa cos&igrave; occupata a dialogare con
l'UART che non ha pi&ugrave; tempo di servire gli altri task. In alcuni 
casi la CPU non riesce a gestire tutti gli interrupt generati
dall'UART e il byte nel buffer viene sovrascritto, poich&eacute; i dati
arrivano troppo velocemente. 
<P>
<HR>
<A HREF="Serial-HOWTO-14.html">Avanti</A>
<A HREF="Serial-HOWTO-12.html">Indietro</A>
<A HREF="Serial-HOWTO.html#toc13">Indice</A>
</BODY>
</HTML>