Avanti Indietro Indice

13. Un piccolo passo avanti...

Non è necessario leggere questa sezione, ma può fornirvi ulteriori informazioni approfondite su Unix e il mondo delle telecomunicazioni.

13.1 Che cosa sono i lock file?

I lock file sono semplici file che indicano che una particolare periferica è in uso. Si trovano in /usr/spool/uucp oppure /var/lock. I file lock di linux utilizzano la seguente denominazione LCK..name, dove name è 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à indicando che qualcuno sta già 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 è ancora valido, il programma esce ( o per lo meno dovrebbe farlo ). Se invece non è più 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 è in uso.

13.2 ``baud'' Vs. ``bps''

``baud'' e ``bps'' sono probabilmente i due termini usati più impropriamente nel mondo informatico e delle telecomunicazioni. Molte persone utilizzando questi termini indifferentemente, quando invece la storia non sta così.

baud

La misura baud indica quante volte al secondo un segnale, per esempio emesso da un modem (modulatore-demodulatore), 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à utilizzano hanno una baud rate a 2400. Per le limitazioni sulle linee telefoniche per voce una baud rate maggiore di 2400 è 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ò superare notevolmente il baud rate. Il Baud prende il nome da Emile Baudot, l'inventore del telegrafo stampante asincrono.

bps

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 ), è possibile raggiungere i 115.2K bps. Questo è ciò che molte persone confondono con i baud.

Quindi, se un modem ad alta velocità opera a 2400 baud, come può inviare dati a 14400 bps ( o superiori )? I modem possono raggiungere elevato indice di velocità in bps ( superiore a quello in baud ) codificando un maggior numero di bit per ogni baud. Per questo il valore in bps sarà maggiore di quella in baud. Ad esempio se il vostro modem effettua un collegamento a 14400 bps significa che è collegato a 2400 baud ed inserisce in ogni cambiamento di fase 6 bit.

Come è iniziata questa confusione? Beh, quando un tempo i vecchi modem lenti erano considerati veloci, spesso la velocità 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é corrispondevano allo stesso vlore. La confusione è iniziata quando i modem più moderni, che offrono prestazioni migliori in termini di velocità, hanno un indice in bps maggiore a quello in baud.

13.3 Che cosa sono gli UART? Come incidono nelle prestazioni?

Gli UART (Universal Asynchronous Receiver Transmitter) 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à dei UART è quella di convertire i dati in bit, inviare questi alla linea seriale, e quindi ricostruire nuovamente i dati presso l'altra estremità della connessione seriale. Gli UART si scambiano dati in pacchetti dimensionati in byte, scelto per convenienza poiché corrispondono al numero di caratteri ASCII.

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 è connesso il terminale riceve questi dati in bit, e li riconverte in byte e li inserisce in un buffer.

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.

L'UART di per sè 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à basse può andare bene. Ma ad alta velocità la CPU diventa così occupata a dialogare con l'UART che non ha più 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é i dati arrivano troppo velocemente.


Avanti Indietro Indice