Sei sulla pagina 1di 28

CAPITOLO 2

STRUTTURA DEGLI ELABORATORI

PREMESSA

Questo capitolo è dedicato alla presentazione degli strumenti informatici, rimanendo, per il
momento, a metà strada fra considerazioni teoriche e descrizione di macchine reali. Viene
presentato, infatti, il concetto di elaboratore elettronico, facendo riferimento ad un generico
sistema basato su unità funzionali e non fisiche. Questo approccio non impedisce, poi
(paragrafi 2 e 3), di passare ad alcuni riferimenti concreti, sia a grossi sistemi elettronici del
passato (mainframe), sia ad elaboratori di uso personale (personal computer) che
rappresentano, un po’ la situazione attuale, anche se non si vuole descrivere veramente lo
stato della tecnologia, vogliamo privilegiare i concetti ed in particolare quelli che erano
validi mezzo secolo fa, che sono validi ora e che lo saranno anche in un futuro non
immediato. Si tratta, in sostanza, di una breve descrizione della struttura logica, più che
fisica, degli elaboratori elettronici.
Il quarto paragrafo è dedicato ad alcuni cenni sull'elaborazione a distanza, mentre il quinto
contiene una classificazione empirica di alcuni sistemi elettronici che sono o sono stati
realmente esistenti sul mercato.

1. CONCETTO DI ELABORATORE

Per elaboratore elettronico intendiamo una "macchina elettronica, modulare, a stati discreti,
programmabile, a programma memorizzato ed auto-modificabile".
È bene precisare che quella che presentiamo qui di seguito non è la struttura fisica di un
elaboratore, ma solo una schematizzazione logica dei sistemi elettronici; tale struttura fun-
zionale può essere diversamente realizzata, a seconda dei tipi e delle dimensioni delle
macchine (e, ovviamente, dell’epoca storica cui ci riferiamo). Facciamo presente, che, per
unità funzionale di un elaboratore, intendiamo un dispositivo capace di compiere
operazioni sui dati che transiteranno nel sistema.
Vediamo il significato della definizione data.

MACCHINA ELETTRONICA: pur essendo un elaboratore costituito da componenti meccaniche,


magnetiche, ottiche, elettriche, ecc., le parti che sono di gran lunga le più importanti
(memoria, unità logiche, ecc.) sono costituite da componenti elettroniche, che sono
prevalenti, sia quantitativamente, che qualitativamente.

MODULARE: sebbene un elaboratore elettronico abbia una struttura di base ben precisa, le
unità funzionali, che lo compongono, possono essere realizzate con unità fisiche suscettibili
di variare come numero e caratteristiche. Questo consente di poter adattare l'elaboratore al

1
reale fabbisogno dell'utilizzatore.

A STATI DISCRETI: i componenti interni dell'elaboratore sono, ai fini limitati del nostro studio,
da considerare come componenti discreti, ossia ipotizzabili in un numero finito di
condizioni; in particolare, i componenti elementari di un elaboratore potranno trovarsi, ai
nostri fini, in due sole condizioni come, per esempio: si/no, acceso/spento, 1/0 1.

PROGRAMMABILE: un elaboratore elettronico non è costruito per risolvere un problema


particolare; sarà di volta in volta l'utilizzatore ad indicare alla macchina le operazioni da
compiere per la risoluzione di un problema. In un certo senso potremmo definire questa
caratteristica come modularità in senso logico.

A PROGRAMMA MEMORIZZATO ED AUTO-MODIFICABILE: l'insieme delle istruzioni che


l'utilizzatore avrà predisposto, chiamato programma, sarà inserito nell'interno della
macchina e più precisamente nella memoria centrale, che è una componente essenziale di
ogni elaboratore. Contrariamente ad altre macchine elettroniche programmabili, un
elaboratore è in grado di modificare le istruzioni ricevute, in base ai risultati via via ottenuti
dalle elaborazioni in corso, purché ciò sia stato previsto dall'utilizzatore; e qvon Neumamn:
dati e programmi
Esaminiamo, ora, quale sia la struttura fondamentale di un elaboratore elettronico;
cominciamo con il considerare lo schema riportato in figura 1. Ogni rettangolo di tale figura
rappresenta una unità funzionale dell'elaboratore che dovrà necessariamente essere pre-
sente, affinché la macchina possa svolgere il proprio lavoro. Ogni unità funzionale potrà
essere, poi, costituita da uno o più dispositivi fisici di dimensioni e caratteristiche variabili.
Solo su questo ultimo aspetto ha influito e, forse, influirà lo sviluppo della tecnologia, non
sullo schema. Qui di seguito elenchiamo le unità funzionali con il lavoro che ognuna di esse
dovrà svolgere:

UNITÀ D'INGRESSO: questa unità ha lo scopo di immettere dati nel sistema elettronico.
Dispositivi usati per questo scopo sono, ad esempio: lettori ottici, tastiere di telescriventi o
di video terminali, lettori di bande o di caratteri magnetici, touch screen, microfoni, ecc., e,
pur se utilizzabili anche per scopi diversi, unità per leggere supporti magnetici, ottici, o solid

1 Colgo l’occasione della descrizione di questa caratteristica per precisare uno dei concetti più importanti, anzi un valore
culturale fondamentale, forse il più importante in assoluto fra quelli del XX secolo. Si tratta della differenza fra analogico
e digitale, e della scelta di seguire un approccio digitale per la progettazione, la costruzione e l’utilizzazione degli
elaboratori elettronici. È bene precisare che non si tratta di una invenzione e che non è realmente databile. In fondo per
molti aspetti anche le macchine di Hollerith consideravano la scheda in modo digitale: era rilevante soltanto che in una
data posizione di una scheda ci fosse un foro o meno, non importava la grandezza del foro (bastava che fosse
sufficientemente ampio da rilevarlo). Di per sé non esistono macchine “digitali” e macchine “analogiche”; dipende da
come si valutano e come si utilizzano i loro componenti. Anche una semplice lampadina (macchina elettrica che produce
luce) può essere considerata, da un punto di vista analogico, in base alla luce che fa e la quantità di luce, misurata con un
apposito strumento, può darci un’informazione numerica (tale informazione è molto sintetica, basta ad esempio una sola
lampadina per rappresentare un numero a 3 cifre, ma soggetta ad errori di misura: dipende dalla taratura dello strumento
utilizzato). La stessa lampadina può invece essere considerata solo in due condizioni (accesa o spenta); da un lato il potere
rappresentativo è basso, le sole cifre 0 o 1 (come vedremo nel capitolo 3, in questa ottica per rappresentare un numero di
3 cifre serviranno più “lampadine”, addirittura 8 o 9, se non di più, in base ai criteri di codifica), ma l’eliminazione dello
strumento di misura ci libera dalla possibilità di errori di approssimazione nella rappresentazione. Quando si progettavano
i primi elaboratori con componenti elettroniche, non era ancore chiaro quale sarebbe stata la scelta con più prospettive; la
scelta fu per l’impostazione digitale, limitando l’elettronica analogica per funzioni specifiche. Questo ha consentito grazie
alla velocità delle macchine ed all’ampiezza delle loro memorie (vista anche la rapida evoluzione dell’elettronica) di
arrivare a macchine efficienti, flessibili e convenienti.

2
state.

UNITÀ D'USCITA: tale unità serve ad emettere all'esterno dati, risultati di elaborazioni
compiute dall'elaboratore. Dispositivi usati a questo scopo sono, ad esempio: schermi video,
stampanti, plotter, altoparlanti e, per comunicare con altre macchine, unità che utilizzano
supporti magnetici, ottici, o solid state 2.

MEMORIA AUSILIARIA

UNITA' DI MEMORIA UNITA' DI


INGRESSO CENTRALE USCITA

UNITA' CENTRALE DI
ELABORAZIONE:

UNITA' DI UNITA'
CONTROLLO LOGICO-
ARITMETICA

FLUSSO DI DATI

FLUSSO DI COMANDO

Figura 1 - Struttura funzionale di un elaboratore

MEMORIA CENTRALE: tale unità ha lo scopo di memorizzare dati e programmi. I dati inseriti
nella memoria centrale generalmente sono tenuti memorizzati per il tempo necessario alle
elaborazioni e non conservati per future elaborazioni; vedremo qui di seguito altri tipi di
memorie per conservare gli archivi. Le moderne memorie centrali degli elaboratori, formate
da circuiti integrati, consentono operazioni di lettura e scrittura con tempi di decine di
nanosecondi e sono destinate a contenere, sia le istruzioni che l'utilizzatore fornisce alla
macchina, sia i dati di immediato utilizzo, necessari, di volta in volta, per un determinato
lavoro.

2 Sia nel caso delle unità di ingresso sia delle unità di uscita vanno incluse le comunicazioni di rete e, in generale, tutte le
possibili connessioni via cavo, via radio, ecc..

3
UNITÀ CENTRALE DI ELABORAZIONE (CPU = Central Processing Unit): questa unità è costituita
almeno da due parti principali:

a) l'unità di controllo,
b) l'unità logico-aritmetica.

La prima è in grado di leggere ed interpretare le istruzioni che l'utilizzatore ha fornito alla


macchina per il trattamento dei dati e che sono temporaneamente memorizzate nella
memoria centrale; è compito di questa unità anche l'attivazione dei dispositivi necessari ad
eseguire tali istruzioni. La seconda è costituita da dispositivi capaci di eseguire, sui dati
presenti nella memoria dell'elaboratore, operazioni aritmetiche e logiche.

MEMORIE AUSILIARIE ESTERNE (dette anche memorie secondarie o di massa): nelle memorie
esterne abbiamo, invece, memorizzati tutti gli archivi che vogliamo mantenere per trattare
con l'elaboratore, nonché i programmi realizzati o acquisiti. Si tratta di memorie non volatili:
le informazioni vengono conservate anche quando il dispositivo è spento. Gli archivi
possono anche essere il risultato di elaborazioni in corso, e venire poi eliminati al termine
del processo elaborativo, o possono essere costituiti dal risultato di precedenti elaborazioni.
Il tempo di accesso, ossia il tempo necessario alla lettura o alla scrittura di un insieme
elementare di dati, è variabile a seconda dell'unità fisica impiegata e del sistema di
organizzazione dei dati usato. 3

Tutte le unità funzionali che abbiamo visto sono necessariamente presenti in tutti gli
elaboratori, ad eccezione di casi limitati, per usi molto particolari.

2. MEMORIA CENTRALE, UNITÀ CENTRALE DI ELABORAZIONE, CANALI

Per usare un elaboratore non è necessario acquisire una approfondita conoscenza tecnica
della sua struttura interna, ma è importante averne almeno una qualche nozione di base,
per capire il suo modo di lavorare. Per il momento abbiamo descritto la struttura funzionale
di un elaboratore, dando una prima idea delle interazioni che esistono fra le varie unità
collegate e che, nell'insieme, costituiscono appunto un elaboratore elettronico. Vediamo ora,
più da vicino, quello che abbiamo chiamato, definendo l'informatica, hardware o
"circuiteria" e, cioè, l'insieme dei dispositivi fisici che costituiscono un elaboratore.
Rifacendoci alla già menzionata figura 1, ricordiamo che le linee tratteggiate indicano il
"flusso dei segnali di controllo", cioè dei comandi che l'unità di controllo trasmette alle altre
unità, per provvedere alla esecuzione delle istruzioni lette dalla memoria dopo una
opportuna fase di decodifica. Le linee continue indicano il flusso dei dati e delle istruzioni
di programma, che prima della decodifica sono simili ai dati, almeno da un punto di vista
teorico.

MEMORIA CENTRALE

Come abbiamo visto, fino agli anni 70 le memorie degli elaboratori elettronici non erano

3 L'insieme elementare di dati è chiamato record. Riprenderemo questo argomento nei capitoli successivi.

4
altro che un insieme di anelli di ferrite, attraversati da fili elettrici, che potevano essere ma-
gnetizzati in un senso o nell'altro, cioè "on" o "off" e rappresentare così delle cifre binarie: 1
o 0. Ogni anellino corrispondeva ad un bit, l'unità elementare di informazione. 4 Oggi sono
usate solo tecnologie elettroniche ed i bit sono realizzati tramite circuiti on/off; le memorie,
infatti, sono fisicamente costituite da circuiti integrati.
La memoria centrale viene anche chiamata memoria ad accesso casuale (RAM = Random
Access Memory), in quanto si può direttamente arrivare all'indirizzo di memoria
desiderato, senza dover scorrere altri indirizzi di memoria, cioè, appunto, in maniera
casuale o diretta. Spesso, in alcune zone di memoria vengono immesse delle informazioni
(dati od istruzioni) in maniera permanente, fin dal momento della costruzione del-
l'elaboratore, informazioni che servono a scopi ben precisi e che possono venir solo lette,
senza mai essere cambiate, o quasi, dall'utente: tale tipo di memorie, si chiamano memoria
a sola lettura (ROM = Read Only Memory)5.
La memoria dell'elaboratore serve per mantenere, memorizzare appunto, sia le istruzioni
dei programmi che i dati. La memorizzazione delle istruzioni fa sì che l'elaboratore esegua
le elaborazioni "in maniera automatica", ossia senza l'intervento umano, alla velocità che gli
è propria.
La memoria centrale è un insieme finito, ordinato e numerato di celle o posizioni, ciascuna
delle quali, da sola od in gruppo, può contenere un'informazione in forma binaria. Il numero
delle celle rappresenta la capacità della memoria.
La dimensione di una cella è equivalente al numero di bit da cui essa è composta:
generalmente una cella di memoria corrisponde ad un byte, 6 ed è formata da 8 bit. Il byte è
pertanto l'unità di misura delle memorie degli elaboratori (comprese, come vedremo, quelle
ausiliarie). L'utilizzo pratico comporta, spesso, l'uso di celle di dimensioni maggiori, di
stringhe di byte, che si chiamano parole. Ogni cella è individuata da un suo numero
d'ordine, che ne rappresenta l'indirizzo, a cui si fa riferimento per accedere all'informazione
memorizzata o per inserire l'informazione stessa.
Mentre il bit è l'unità elementare di memoria, e può assumere lo stato on o off a seconda che
rappresenti un 1 oppure uno 0, la cella è l'unità minima di informazione a cui si può fare
riferimento con i principali linguaggi di programmazione. 7
In generale la memoria RAM, come è ora tecnologicamente realizzata, è volatile in quanto
le informazioni si perdono ogni qualvolta l'elaboratore viene spento. Una caratteristica della
memoria centrale è l'alta velocità nelle operazioni di accesso e di trasferimento, in quanto le
informazioni da essa mantenute hanno una continua interazione con gli altri componenti
elettronici che costituiscono l'elaboratore.
Si parla di operazioni di lettura e di scrittura in memoria: con la prima operazione si intende

4 Come vedremo meglio nel capitolo 3, gli elaboratori elettronici utilizzano diversi sistemi di rappresentazione delle
informazioni, tutti basati sull'aritmetica binaria (un sistema di numerazione che prevede due soli simboli). Il termine bit,
oltre a significare in inglese "un piccolo pezzo", deriva, appunto, da binary digit (numero binario).
5 In realtà esisto diverse categorie di memorie di sola lettura, cui fanno riferimento denominazioni e sigle differenti.
6 Il concetto di byte è spiegato diffusamente nel capitolo 3.
7 Per il programmatore però sarebbe troppo scomodo tenere il conto delle locazioni di memoria nelle quali, di volta in
volta, si trovano le informazione che lo interessano. È per facilitare questo compito che nei linguaggi di programmazione,
si usano variabili analoghe a quelle utilizzate in matematica (in fondo l’informatica, come la statistica, fa parte, almeno
in senso lato, della matematica applicata). In questo modo, vengono utilizzati nomi, la cui sintassi non è compresa
direttamente dalla circuiteria dall'elaboratore: sarà però l'elaboratore a provvedere all’abbinamento di tali nomi ad indirizzi
di celle di memoria, grazie a programmi appositamente realizzati, che la CPU seguirà nella fase di traduzione.

5
prelevare e conoscere, a livello di un programma, l'informazione precedentemente depo-
sitata in una determinata cella, mentre, con la seconda, si deposita un’informazione in una
determinata cella. Il tempo necessario per compiere le azioni di scrittura o di lettura si
chiama tempo di accesso alla memoria. Per azioni di lettura e scrittura, "ciclo di memoria",
intendiamo l'insieme delle azioni necessarie all'elaboratore per compiere le due operazioni.
Va sempre tenuto presente che la scrittura è distruttiva, poiché quando si "scrive" una nuova
informazione in memoria, si perde l'informazione precedentemente memorizzata nella
stessa posizione.

L'architettura della memoria può essere rappresentata dalla figura 2, nella quale compaiono
anche il registro indirizzi, il decodificatore indirizzi ed il registro dati.

REGIST RO INDIRIZZI

DECODIFICAT ORE
INDIRIZZI

MEMORIA CENT RALE

REGIST RO DAT I

Figura 2 - Architettura della memoria

Il registro indirizzi contiene l'indirizzo della cella di memoria a cui ci si riferisce. La


lunghezza del registro determina la possibilità di espansione della memoria; se, ad esempio,
16
il registro ha 16 bit, non potremmo avere una dimensione di memoria superiore a 2 celle,
ma un insieme di celle con gli indirizzi compresi fra 0 e 65535, che è il massimo valore bina-
rio rappresentabile con 16 cifre (FFFF in esadecimale)8. Per indirizzare memorie sempre più
ampie la tecnologia ha dovuto utilizzare 32 bit e poi 64, come nei sistemi più moderni.
Il decodificatore degli indirizzi seleziona la cella definita dal registro indirizzi.
Il registro dati contiene l'informazione che deve essere scritta in una cella, o che è stata letta
da una cella, nel momento in cui avviene una operazione di scrittura o è terminata quella di
lettura dalla memoria.
Per ogni operazione di lettura o scrittura della memoria, viene posto, nel registro indirizzi,
l'indirizzo della cella da cui leggere o nella quale scrivere. Dal momento in cui viene inviato
l'impulso per l'operazione di lettura, il dato viene prelevato dalla cella indicata nel registro
indirizzi e messo nel registro dati, per essere poi trasferito all'unità logico-aritmetica o ad
altri dispositivi (compresa la stessa memoria centrale). Per l'operazione di scrittura il dato,
posto nel registro dati, viene messo nella cella il cui indirizzo è indicato dal registro indirizzi.

8 Per una migliore comprensione di questi concetti rimandiamo al capitolo 3.

6
UNITÀ CENTRALE DI ELABORAZIONE

Ricordiamo che, a proposito di unità funzionali, con il termine unità centrale di elaborazione
intendevamo riferirci all'insieme di due componenti, che possono essere, o meno, fi-
sicamente separati (l'unità di controllo e l'unità logico-aritmetica).
Senza entrare a fondo in particolari architettonici, possiamo dire che ambedue queste unità
possiedono dei dispositivi, detti registri, 9 destinati a contenere, ad esempio, l'istruzione in
corso di esecuzione ed altre informazioni connesse con il procedere dell'elaborazione, oltre
che valori numerici o stringhe di caratteri da trattare.

L'UNITÀ DI CONTROLLO, come il nome stesso indica, è il dispositivo che provvede a


controllare l'attività di elaborazione. Il suo ruolo è quello di decodificare e far eseguire le
istruzioni presenti in memoria centrale, nonché di supervisionarne l'esecuzione,
provvedendo a trattare eventuali anomalie. Questa unità non esegue, quindi, le istruzioni:
il suo compito è quello di leggere le istruzioni, una alla volta, prelevandole (normalmente
in modo sequenziale) dalla memoria centrale, di interpretarle, cioè di capirne il significato,
di provvedere a che vengano eseguite, dando gli opportuni comandi alle unità interessate.
Fanno eccezione a questo schema pochi tipi di istruzioni, ossia quelle dirette ad ottenere un
particolare comportamento dall'unità di controllo stessa; gran parte di queste riguardano
l'ordine con cui l'unità di controllo deve effettuare l'esecuzione delle istruzioni: tale ordine
è, altrimenti, quello naturale, cioè sequenziale. In questi casi, quindi, l'unità di controllo, una
volta decodificata l'istruzione, provvede essa stessa ad eseguirla cambiando lo stato interno
di alcuni suoi registri10.

L'UNITÀ LOGICO-ARITMETICA: è il dispositivo che esegue le operazioni aritmetiche e logiche.


Per far ciò si serve, oltre che di appositi circuiti elettronici, di particolari registri, fra cui
alcuni che possono essere specificamente dedicati alla manipolazione aritmetica e logica dei
dati, detti "accumulatori". Oltre che dalla capacità di memoria, la potenza di un elaboratore
dipende, anche dalle caratteristiche della unità logico-aritmetica, quali la sua velocità e le
operazioni che essa può eseguire, per altro legate alle capacità e velocità dell'unità di
controllo.

Riassumendo, possiamo dire che per poter essere eseguita una istruzione deve prima essere
memorizzata nella memoria centrale; occorre poi l'intervento dell'unità di controllo, che la
deve riconoscere e decodificare, permettendone poi l'effettiva esecuzione da parte dell'unità
fisica cui l'istruzione è diretta.
Volendo vedere, più nel dettaglio, la logica operativa dell'unità centrale di elaborazione,
possiamo osservare che l'unità di controllo effettua i seguenti passi:

9 Avevamo usato il termine registri in relazione all'indirizzamento della memoria, si tratta ora di chiarire meglio
cosa intendiamo quando usiamo questo termine. Per registro intendiamo un dispositivo in grado di memorizzare alcuni
byte. L'utilità del dispositivo non si limita solo alla consultabilità del contenuto, soprattutto per guidare operazioni, ma
anche per effettuare trattamenti su quanto vi viene memorizzato. La lunghezza dei registri determina il così detto
"parallelismo" di un elaboratore, che è dato dal numero di bit o byte su cui l'unità centrale di elaborazione e/o la memoria
centrale possono operare contemporaneamente, ad ogni ciclo operativo o di lettura/scrittura.
10 La velocità di esecuzione è regolata da un timer (clock) all'interno del sistema, rappresentato, generalmente, da un
circuito che genera degli impulsi regolari, a determinati intervalli di tempo; tali impulsi permettono l'esecuzione cadenzata
delle operazioni da parte dell'unità di controllo, generando richieste di interruzione.

7
1) preleva l'istruzione da eseguire da una precisa locazione della memoria centrale, il cui
indirizzo è contenuto in un apposito registro (registro indirizzo dell'istruzione da
eseguire);
2) interpreta l'istruzione prelevata (che viene anche questa memorizzata in un apposito
registro);
3) invia i comandi all'unità interessata all'esecuzione della medesima. In particolare:

a) se è una istruzione di ingresso/uscita, comanda alla specifica unità di input o di


output effettuare la lettura o la scrittura dei dati interagendo con la memoria,
b) se è una istruzione di trasferimento di dati all'interno del sistema, comanda tale
trasferimento; ad esempio, all'interno della memoria centrale oppure da questa
ai registri dell'unità logico-aritmetica o viceversa,
c) se è una istruzione logica od aritmetica, comanda l'esecuzione di tale operazione
da parte dell'unità logico-aritmetica; il trasferimento del primo operando verso
l'unità e del risultato verso la memoria centrale deve essere comandato
separatamente, con istruzioni di trasferimento,
d) se si tratta di una istruzione di controllo, si ha invece una esecuzione diretta da
parte di questa unità, esecuzione che va ad influire su un registro dove è con-
tenuto l'indirizzo della locazione dell’istruzione da eseguire (tale registro viene,
negli altri casi, automaticamente incrementato tenendo conto dell’accennato
parallelismo del sistema (lunghezza di una istruzione), provocando quindi una
esecuzione sequenziale).

Anche i segnali di controllo vengono trasmessi, come i dati, attraverso collegamenti fra le
unità, cioè attraverso linee di connessione 11.

CANALI

Nella descrizione della struttura funzionale di un elaboratore abbiamo precisato che l'unità
centrale comunica con le altre unità, comprese quelle di input/output, attivandole affinché
effettuino le operazioni che sono loro proprie. Sempre più spesso i sistemi elettronici sono
dotati di una o più unità di “elaborazione specializzate” distinte dall'unità centrale
(processori esterni), alle quali quest'ultima affida il compito di comunicare direttamente con
le periferiche. In questo modo è possibile gestire al meglio le operazioni di ingresso e di
uscita. Tali unità si chiamano canali.
I canali sono, in pratica, unità di elaborazione specializzate che hanno un accesso diretto alla
memoria e sono in grado di trasferire i dati fra la memoria centrale e le periferiche con le
quali comunicano. Sono anche dotati di memorie e registri. Le loro memorie servono a
trattenere, per periodi di tempo più o meno brevi, i dati che vi transitano, sia per consentire
un più efficiente raggruppamento degli stessi, sia per compensare le diverse velocità di
trattamento fra unità a prevalente, od esclusiva, struttura elettronica e unità periferiche,
basate anche su tecnologie anche magnetiche e meccaniche.
Per quanto attiene al funzionamento di questi dispositivi, va precisato quanto segue: dopo
che l'unità centrale ha attivato il canale, nel senso di fargli iniziare l'operazione di I/O e gli

11 Nella figura 1 abbiamo indicato i collegamenti relativi ai comandi con linee tratteggiate per distinguerli da quelli relativi
ai dati.

8
ha indicato l'indirizzo di memoria, relativo alle posizioni su cui deve operare, il canale, o
meglio il suo processore, segue una serie di istruzioni memorizzate. Quando arriva al
termine delle operazioni, il canale comunica all'unità centrale, con una richiesta di
interruzione, la fine dell'esecuzione. La richiesta di interruzione o "interrupt" è un
particolare segnale diretto all'unità centrale e che da questa verrà trattato in base a criteri
che approfondiremo meglio più avanti12.
In figura 3 vediamo come la struttura funzionale di un elaboratore, di cui alla figura 1, si
trasformi con l'introduzione dei canali.

MEMORIA AUSILIARIA

CANALE

C C
A A
UNITA' DI N MEMORIA N UNITA' DI
INGRESSO A CENTRALE A USCITA
L L
E E

UNITA' CENTRALE DI
ELABORAZIONE:

UNITA' DI UNITA'
CONTROLLO LOGICO-
ARITMETICA

FLUSSO DI DATI

FLUSSO DI COMANDO

Figura 3 - Struttura funzionale di un elaboratore

3. UNITÀ PERIFERICHE

Generalmente, con il termine di unità periferiche si indicano tutti quei dispositivi che sono
fisicamente separati dal "nucleo centrale" del sistema elettronico, costituito da tutte le
componenti che abbiamo visto nel paragrafo precedente. I moderni elaboratori, tuttavia,
sono sempre più "integrati" e fanno vedere sempre meno questa distinzione.

12 Si veda a questo proposito il concetto di multiprogrammazione, affrontato nel capitolo 6. In tale ambito vedremo
anche come le unità di canale aiutino a perseguire il massimo sfruttamento della unità centrale di elaborazione, con relativa
ottimizzazione del lavoro del sistema nel suo complesso.

9
Appartengono a questa categoria due tipi di unità e, precisamente:

A) le unità di ingresso/uscita,
B) le unità di memoria ausiliaria, dette anche memorie di massa o secondarie.

A) UNITÀ DI INGRESSO/USCITA

Le unità di ingresso/uscita (I/O = Input/Output) sono i dispositivi tramite i quali è


possibile comunicare fra il mondo esterno, compresi altri sistemi elettronici, e l'interno
dell'elaboratore e viceversa. In altre parole, queste unità hanno la funzione di trasmettere i
dati dalla memoria centrale verso l'esterno del sistema (uscita) o viceversa (ingresso).

Durante lo svolgimento delle elaborazioni in un sistema elettronico, i trasferimenti di dati e


programmi sono normalmente ottenuti usando apposite istruzioni che comandano, ai
dispositivi a ciò preposti, l'emissione o l'immissione delle informazioni. Come abbiamo
visto, la fine dell'operazione di scrittura o di lettura può essere controllata, oltre che
dall'unità centrale di elaborazione, da un apposito dispositivo esterno (canale), attraverso
meccanismi di interruzione, con i quali le periferiche, tramite i canali, segnalano il
completamento della trasmissione del dato13.
I dispositivi di ingresso e di uscita possono essere di vario tipo; qui di seguito ne
descriviamo brevemente i principali.

TASTIERE, SCHERMI VIDEO, TERMINALI

Le tastiere integrate da un dispositivo di puntamento (il c.d. mouse) sono ormai il


mezzo più diffuso per l'immissione dei dati da parte degli utilizzatori, mentre gli schermi
video sono divenuti il sistema più comune per la visualizzazione dei dati diretti
dall'elaboratore all'uomo.
Per elaboratori di una certa dimensione, e quindi, in genere, con più utilizzatori spesso
dislocati territorialmente, si ha la necessità di creare posti di lavoro completi14, chiamati
terminali, che allo stato attuale sono quasi sempre costituiti da un personal computer
dedicato a questo scopo.
Storicamente, prima della diffusione dei personal computer, si potevano distinguere i
terminali, in base al sistema con il quale veniva effettuata la visualizzazione delle
informazioni in uscita:

1) terminali video, quando sia l'uscita che la replica dei comandi dell'utente vengono
effettuate su uno schermo,
2) terminali telescriventi se l'uscita è ottenuta su carta, tramite stampa.

13 Quasi sempre, invece di una comunicazione diretta fra memoria centrale e periferiche, sia pure mediata dai canali,
esistono dei dispositivi, chiamati "governi", che servono da interfaccia tra le unità a prevalente tecnologia elettronica e
quelle periferiche. Ogni governo può gestire anche più di una periferica, purché queste siano dello stesso tipo o, comunque,
compatibili. A livello di un elaboratore elettronico si può avere, ad esempio, un governo dischi, un governo nastri, un
governo linee, ecc.. Fisicamente, un governo può essere, sia una semplice scheda a componenti elettroniche (si vedano ad
esempio quelle inserite nei personal computer), sia un dispositivo molto più complesso, sino ad arrivare a qualcosa di
simile ad un grosso elaboratore elettronico (si pensi al governo linee di una azienda di credito o di un grosso centro di
calcolo scientifico che gestiscono centinaia di dispositivi periferici remoti, collegati tramite linee telefoniche).
14 Ossia costituiti da un dispositivo di input, da uno di output e da un dispositivo di controllo delle comunicazioni: il
governo linea.

10
Il secondo sistema, un tempo l'unico esistente di tipo interattivo, è ormai limitato a casi di
specifica necessità di una registrazione su carta dell'input e/o dell'output.
In ambedue i casi l'ingresso delle informazioni veniva effettuato dall'utente tramite tastiera,
così come da tastiera vengono inviati i comandi al sistema elettronico. In pratica, i terminali
possono essere visti sia come "console" dell'operatore, strumento che serve a gestire e
controllare l'attività dell'elaboratore per mezzo di comandi, sia come dei veri e propri
dispositivi per l'ingresso e l'uscita dei dati.
I terminali possono essere "locali", se sono collegati direttamente all'elaboratore, oppure
"remoti", se il collegamento con l'elaboratore avviene attraverso un sistema di trasmissione
dati, utilizzando, ad esempio, le linee telefoniche; in tale ultimo caso si parla di
"elaborazione a distanza"15.

STAMPANTI

Il mezzo più diffuso per ottenere dall'elaboratore un'uscita che, pur permettendo una lettura
diretta dei dati da parte dell'uomo, sia anche durevole è costituito dalla stampante. Tale
unità può utilizzare per la stampa sia moduli continui che discreti. I primi sono costituiti da
fogli di carta, collegati fra loro e muniti di fori di trascinamento; si tratta in pratica di una
striscia di carta continua, ripiegata in pacchi, come quelli che venivano utilizzati dalle
telescriventi. I secondi sono, invece, fogli separati, che possono essere inseriti manualmente
o contenuti in appositi serbatoi che alimentano in modo automatico il dispositivo di stampa.
I moduli possono essere già prestampati, con intestazioni e/o "prefincature", per poter
essere utilizzati per lettere, prospetti, fatture, ecc..
Le classificazioni che possiamo utilizzare per individuare i vari tipi di stampanti sono le più
svariate e possono riferirsi: alla tecnica utilizzata per far apparire i caratteri sul supporto
cartaceo, al metodo di stampa, al tipo di collegamento utilizzato per ricevere i segnali dal
governo connesso al canale, ecc..
In base alla tecnica utilizzata per rappresentare il carattere sulla carta, le stampanti possono
essere classificate in:

1) stampanti ad impatto,
2) stampanti non ad impatto.

Le stampanti ad impatto utilizzano nastri inchiostrati ed un dispositivo di stampa (testina,


martelletto, ecc.), che preme la carta contro di questi. Queste stampanti, realizzate
fisicamente con dispositivi diversi che premiano maggiormente la velocità oppure la
precisione di stampa.
Le stampanti non ad impatto possono impiegare varie tecniche per la stampa dei caratteri.
Appartengono a tale raggruppamento le stampanti:

a) termiche,
b) a getto d'inchiostro,
c) laser.

Le stampanti termiche, per altro poco utilizzate, impiegano, con qualche eccezione, un tipo di

15 All'elaborazione a distanza è dedicato il prossimo paragrafo.

11
carta speciale, sulla quale vengono impressi i caratteri con una reazione chimica, che sfrutta
la composizione della carta e gli aghi di una testina, riscaldati da corrente elettrica. Il loro
difetto maggiore è costituito dal non indifferente costo della carta chimica, anche se gene-
ralmente il costo del dispositivo è piuttosto limitato, come del resto le prestazioni.
Le stampanti a getto d'inchiostro hanno un dispositivo che emette un rapido getto di inchiostro
ionizzato, che viene deviato da appositi dispositivi, per formare il carattere desiderato.
Esistono stampanti dotate di testine a più colori, che consentono, a costi non elevati, la
stampa a colore. Sono silenziose, anche se in genere non eccessivamente veloci.
Parlando di stampanti laser, bisogna prima precisare che la tecnologia laser viene utilizzata
per due categorie di macchine molto diverse fra loro.
Un primo tipo, entrato in uso negli anni settanta, riguarda le stampanti a grandi prestazioni,
che erano le più veloci in assoluto e potevano raggiungere una velocità intorno alle 30000
linee al minuto. Queste stampanti venivano utilizzate solo da centri di calcolo di grandi
dimensioni e avevano un costo molto elevato.
Un altro tipo, invece, utilizza la tecnologia laser per stampare singole pagine, ad
alimentazione discreta, spesso ad una velocità non elevata, ma con un livello qualitativo
molto alto. Sono ormai diventate di uso comune e sono normalmente utilizzate sia per lavori
di segreteria, sia per grafica, lavori scientifici, ecc.. La loro velocità di stampa, misurabile in
numero di pagine al minuto, va da qualche pagina a decine di pagine in tale unità di tempo.
Da un punto di vista estetico appaiono molto simili a fotocopiatrici ed il procedimento
utilizzato per la stampa è abbastanza simile. Il loro costo, data anche la sempre maggiore
diffusione, si è notevolmente abbassato.
Le stampanti (soprattutto quelle ad impatto) si possono classificare, in base al metodo usato
per la stampa, in stampanti a "linee", o parallele, e a "caratteri", o seriali. Ci sono poi quelle
a "pagina", come ad esempio le laser di cui sopra.
Le prime, in genere troppo costose per poter essere ancora prodotte ed utilizzate, pur
stampando individualmente singoli caratteri, "vedono" logicamente una intera riga di
stampa per volta. I caratteri erano riportati su catene, nastri o tamburi metallici che
ruotavano; ogni posizione di stampa che compone la riga era dotata di un martelletto in
corrispondenza di ogni posizione di stampa: il foglio di carta veniva premuto contro un
nastro inchiostrato quando passava il carattere opportuno. Si capisce quindi che la stampa
della riga non avviva in un ordine preciso, ma in base alla posizione, casuale, dei caratteri
necessari a comporre la riga a livello di ogni posizione di stampa. Fra le stampanti ad
impatto, queste erano le più veloci e, data la filosofia costruttiva, la loro velocità è misurata
in righe al minuto (da 200 a 3000 circa).
Le seconde, invece, stampano un carattere alla volta e, naturalmente, sono meno veloci. I
metodi di stampa del singolo carattere sono i più svariati. Per formare la riga la stampa può
essere effettuata soltanto da sinistra a destra oppure in entrambe le direzioni, ed in questo
caso si parla di stampanti bidirezionali. Generalmente le stampanti bidirezionali sono ormai
ottimizzate, grazie all'utilizzo di apposita circuiteria elettronica, e stampano nella direzione
più opportuna in base alla diversa lunghezza delle righe.
Questo tipo di stampanti possono avere i caratteri disegnati in modo continuo (come nelle
tradizionali macchine da scrivere, ed in genere ci troviamo di fronte a periferiche ad alta
qualità), oppure composti, di volta in volta, da una opportuna combinazione di punti, in
altre parole, formando il carattere con una matrice di aghi. Anche con quest'ultimo metodo
si può raggiungere ugualmente un buon livello qualitativo (si parla di NLQ = Near Letter
Quality), stampando però, a velocità ridotta.

12
Queste stampanti hanno una velocità di stampa misurabile in caratteri al secondo,
generalmente compresa fra 80 e 400 caratteri; permettono, sovente, anche una alimentazione
discreta della carta, possono essere dotate di dispositivi che consentono una migliore qualità
di stampa ed hanno un costo sensibilmente inferiore a quelle parallele.
Altra distinzione che possiamo effettuare, in relazione alle stampanti, riguarda l'interfaccia
utilizzata per il collegamento con l'elaboratore: tale interfaccia può essere seriale o parallela.
Nel primo caso la stampante riceve un bit alla volta, nel secondo un byte tutto insieme. Si fa
presente che il byte viene a corrispondere ad un carattere da stampare o ad un particolare
segnale di controllo (ad esempio, ritorno a capo, scorrimento della carta, ecc.)16.

LETTORI MAGNETICI E OTTICI

I lettori magnetici, sono dei dispositivi capaci di leggere, automaticamente, caratteri


alfanumerici stampati, secondo standard definiti, con inchiostro magnetizzato. Esistono vari
standard di caratteri, il più noto è il CMC7, utilizzabile in diverse dimensioni ed usato,
soprattutto in passato, negli assegni bancari.
Il lettore utilizzato a questo scopo è capace di riconoscere l'inchiostro magnetizzato dei
caratteri attraverso una testina di lettura, rilevando i tratti dei caratteri e comparandoli con
il set di caratteri interno, per trasformarli in forma digitale, in base agli alfabeti
convenzionali utilizzati dagli elaboratori17.
I lettori ottici si sono sviluppati in un primo momento per il semplice riconoscimento della
presenza di un segno in posizioni predeterminate, quali, per esempio, quelli di alcuni
moduli ISTAT o moduli di raccolta dati in sondaggi demoscopici.
Un altro caso, sempre semplificato, è quello della lettura dei codici a barre, costituiti da un
insieme di barre, più o meno sottili, che, aggregate in un determinato modo, formano dei
numeri. Il loro utilizzo è ormai massiccio nei supermercati e, comunque, nel campo della
identificazione dei prodotti in genere; a seconda del settore merceologico, possono essere di
diversi tipi. I dispositivi per la lettura di tali codici possono essere delle stazioni fisse o delle
speciali dispositivi ottici mobili che, puntando sulla targhetta sulla quale è apposto il codice
a barre, rilevano i dati. Il risultato della lettura può anche essere inviato ad un sistema
centrale che può calcolare prezzi, aggiornare la contabilità della cassa, del magazzino, ecc.
Da qualche anno, siamo arrivati, finalmente, anche in pratica, al raggiungimento di un
obiettivo importantissimo quale quello della lettura diretta di un documento da parte di un
sistema elettronico. Non è più necessario che il testo sia stato scritto con caratteri particolari,
come, ad esempio, l'OCR.A e l'OCR.B, che erano i più usati per questo scopo; infatti, è ora
possibile riconoscere caratteri di generiche macchine da scrivere o stampanti (meglio se
laser), se non scritti a mano. I lettori ottici utilizzati per questo ultimo scopo sono detti
"scanner": si tratta di dispositivi fotoelettrici che percorrono a scansione, riga per riga, il
documento e, a seconda della diversa riflessione della luce nei vari punti, arrivano a
ricostruire le immagini presenti; successivamente un apposito programma confronta le
immagini con set di caratteri presenti nel sistema.

PLOTTER ED ALTRI DISPOSITIVI GRAFICI

I plotter servono per l'uscita dei dati sotto forma grafica. Sono dotati di penne, anche

16 Su questo argomento torneremo più in dettaglio nel paragrafo 8.


17 Anche su questo argomento si veda il capitolo 3 in relazione, ad esmpio, agli alfabeti EBCDIC ed ASCII.

13
diversamente colorate, che possono essere spostate sul foglio in tutti i sensi, nonché
abbassate ed alzate, a seguito di comandi specifici, per tracciare un grafico corrispondente
ai risultati di una elaborazione; si tratta di dispositivi sempre meno utilizzati, se non per
scopi molto specifici.
Ormai tutti gli schermi sono capaci di tracciare sul video segni e linee (apparentemente
continui) anziché solo dei caratteri predefiniti, come nei vecchi terminali video. Ormai si
può affermare che tutti i sistemi video per personal computer siano grafici.
L'operazione inversa, ossia l'immissione di grafici, in un sistema elettronico, può essere
effettuata con touch screen, tavolette grafiche o con scanner.

ALTRI DISPOSITIVI DI INGRESSO/USCITA

Bisogna tenere conto che esistono moltissimi dispositivi in grado di immettere dati
all’interno di un elaboratore o di “esportare” verso l’esterno quelli contenuti nel sistema.
Basta pensare ai microfoni e alle telecamere (spesso integrati nei personal computer,
soprattutto in quelli portatili) e a tutti i componenti hardware che è possibile collegare alle
varie “prese” presenti nei moderni sistemi (si pensi alle attuali prese USB cui è possibile
inserire memory pen, cavi collegati a sensori, dispositivi di conversione analogico digitale,
ecc.) o dispositivi particolari quali i lettori di smart-card, di schede SD, ecc.

LETTORI E PERFORATORI DI SCHEDE E DI NASTRI DI CARTA

Questi dispositivi sono ormai caduti in disuso, in quanto, sia le schede meccanografiche,
che i nastri di carta, sono supporti deperibili, ingombranti e non riutilizzabili. Abbiamo co-
munque deciso di terminare la presentazione delle periferiche degli elaboratori elettronici
ricordando questi strumenti che, oltre ad essere stati importanti per la diffusione degli
elaboratori a fini pratici nel mondo aziendale, hanno avuto il pregio di poter far capire
importanti concetti legati agli elaboratori elettronici, concetti che non possono più percepirsi
fisicamente attraverso gli attuali e più avanzati dispositivi. Sino agli anni '70 le schede
meccanografiche erano il principale mezzo di ingresso e, spesso, anche di uscita per certe
operazioni. Esisteva un'apposita macchina, chiamata perforatrice, tramite la quale si
trasferivano manualmente i dati e le istruzioni su questi cartoncini, generalmente di 80
colonne, organizzate su 12 righe. Ogni carattere era rappresentato con una o più
perforazioni in una determinata colonna. Più colonne formavano un campo, numerico od
alfanumerico, che conteneva una informazione utile per l'utilizzatore.
Le schede, così riempite, venivano poi fatte leggere da un'apposita unità di immissione,
chiamata lettore di schede, che funzionava ad una velocità da 300 a 2000 schede al minuto;
analogamente, si potevano far uscire i risultati su schede, perché esistevano i perforatori di
schede che pensavano a trasferire i dati su questi supporti cartacei.
Per i nastri, a parte la diversità fisica del supporto utilizzato, esistevano sia i lettori di nastro,
che in genere erano anche perforatori di nastro, più lenti, ma senza il limite delle 80 posizioni.
Questo tipo di nastri ha costituito il primo sistema di input/output degli elaboratori, intorno
agli anni '50 ed è stato usato fino all'inizio degli anni 80, anche perché legato all'uso di
macchine contabili (persino in certe banche di interesse nazionale) ed alle telescriventi.

B) UNITÀ DI MEMORIA AUSILIARIA

Riprendendo in considerazione la classificazione effettuata all'inizio di questo paragrafo,

14
vediamo ora le principali caratteristiche delle memorie ausiliarie.
Le memorie ausiliarie servono per memorizzare grandi quantità di informazioni, dati e
programmi, oltre che per conservare nel tempo, con dispositivi non volatili, quantità più o
meno grandi di dati, e per trasferirle da un elaboratore ad un altro.
La principale differenza con la memoria centrale consiste nella non diretta utilizzabilità, da
parte della unità centrale, dei dati contenuti nelle memorie ausiliarie. Quando viene
eseguito un programma le istruzioni ed i dati da trattare devono trovarsi comunque in
memoria centrale; se sono su memorie ausiliarie, o di massa, essi vanno trasferiti in memoria
centrale prima del loro utilizzo.
Le memorie di massa possono mantenere le informazioni, per un tempo anche lungo, per
cui, vengono anche dette memorie "non volatili". Sono, infatti, basate su tecnologie magne-
tiche, ottiche o elettroniche (ma, in questo ultimo caso si tratta di dispositivi che consentono
un vero e proprio “intrappolamento” dei dati grazie al fatto che i componenti utilizzati per
la loro rappresentazione sono in grado di mantenere la carica elettrica per un tempo lungo
anche senza bisogno di alimentazione). Per tutti questi dispositivi vale il principio di
mantenere memorizzate le informazioni senza l'uso continuo di corrente; solo in fase di
lettura e di scrittura c'è bisogno di una alimentazione elettrica.
Le memorie ausiliarie hanno, comunque, costi unitari di gestione inferiori alla memoria
centrale; è anche per questo che si ricorre massicciamente all'utilizzo di tali memorie esterne.
Il tipo della memoria esterna scelta dipende da vari fattori, uno dei quali è il tipo di utilizzo,
a seconda che si abbia la necessità di registrare, modificare o leggere una singola
informazione (record) o tutte le informazioni di seguito 18; ne esistono di vari tipi, sia come
possibilità di utilizzo, che come capacità e costo.
Una prima ed importante distinzione può essere, infatti, effettuata fra memorie ausiliarie ad
accesso diretto, generalmente dischi, e quelle ad accesso sequenziale, cioè i nastri.
Nel caso dei nastri magnetici, cassette, cartucce, ecc. per accedere ad una precisa
informazione si deve svolgere materialmente il supporto, per raggiungere la posizione
desiderata. Questo comporta una particolare attenzione al tipo di informazioni da
memorizzare su tale supporto, o meglio all'utilizzo che di tali informazioni deve essere fatto:
sarà consigliato il nastro, come memoria ausiliaria esterna, quando si prevede che i dati
vadano "letti", e quindi trattati, tutti e nell'ordine in cui sono, senza aver bisogno di
rintracciarne in modo rapido parti precise.
La lettura e la scrittura (registrazione) dei dati su nastri e su dischi sono basate sul principio
delle correnti indotte (induzione magnetica).
Da ormai un paio di decenni l’uso dei supporti di questo tipo si è via via ridotto, fino ad
essere limitato a specifiche utilizzazioni, in genere legate alla sicurezza dei dati. Il motivo di
ciò va ricercato sia nella progressiva riduzione del costo dei dischi e degli altri supporti ad
accesso non sequenziale sia nel fatto che le unità a nastro hanno ormai raggiunto un costo
relativo che le mette fuori mercato, nonostante il basso prezzo dei supporti su cui effettuare
la memorizzazione dei dati. Continuiamo a descrivere queste unità perché lo riteniamo utile
a fini strettamente didattici.

NASTRI MAGNETICI

I nastri sono supporti meccanografici molto economici, con possibilità di memorizzare


grandi quantità di dati (fino ad oltre cento milioni di byte per bobina), anche se come appena

18 Questo ed altri concetti legati alla gestione degli archivi sono trattati organicamente nel capitolo 4.

15
accennato non lo sono le unità destinate a utlizzarli. Essi hanno una struttura simile ai
comuni nastri usati per la registrazione del suono, sono formati da materiale plastico
ricoperto da materiale magnetizzabile; la loro lunghezza è variabile.
Il nastro, spesso mezzo pollice, è diviso logicamente in piste o tracce (in un primo momento
7, divenute 9 in base al mutamento dei criteri di codifica); considerando la sua sezione
trasversale, una traccia è riservata ad una informazione di controllo (bit di parità), mentre
le altre contengono i bit che servono per la rappresentazione del carattere, in base al codice
usato. I vecchi nastri a 7 tracce potevano utilizzare il codice BCD a 6 bit 19.
La capacità teorica del nastro è determinata sia dalla lunghezza del supporto, che può
arrivare fino a 2400 piedi, sia dalla densità di registrazione, che è determinata dal numero
dei byte (caratteri) memorizzabili in una data porzione di nastro (800, 1600, 6250, 32000 bpi
= byte per inch).
I dati sono raggruppati in blocchi di uno o più "record", come è evidenziato nella figura 4,
e, normalmente, una singola operazione di lettura o scrittura trasferisce in memoria centrale
un intero blocco. Per permettere al nastro di riprendere inizialmente la velocità di regime,
per la lettura di ogni blocco, e per permetterne la decelerazione e l'arresto, dopo la lettura,
fra ogni blocco c'è un tratto di nastro non magnetizzato, detto interblocco o "gap". Questo
fatto crea un sottoutilizzo del supporto, che è maggiore in relazione inversa alla lunghezza
dei blocchi: più lunghi sono i blocchi, meno numerosi i gap e più aumenta la capacità
effettiva del nastro.
I nastri sono ancora utilizzati, sia pure in casi molto limitati, per fare copie di sicurezza
(backup) di memorie di massa ad accesso diretto, per il trasferimento di informazioni, per
conservare archivi di non frequente utilizzazione, ecc..

1 1

Blocco Blocco

Gap Record Gap Record Gap

1 1
Record Record

1 Blocco

Gap Record Record Record Record Gap

4 Record

Figura 4 - Bloccaggio dei record

DISCHI

La memoria ausiliaria ormai più comunemente usata per gli archivi di frequente
utilizzazione è il disco magnetico, anche se si cominciano ad intravedere ed utilizzare i

19 Per approfondire si veda il capitolo 3.

16
possibili successori di questa tecnologia20. Questo accade per una serie di fattori, fra cui, il
costo di questi dispositivi, ormai diminuito in misura notevole (come del resto quello di
gran parte delle componenti degli elaboratori), la facilità di utilizzo, dovuta all'uso di
programmi che semplificano l'uso del dispositivo anche per utenti non molto esperti, la
velocità di accesso, e, in qualche caso, la facilità di trasferimento dei dati su altri sistemi,
usando questo supporto.
Nel caso dei dischi, i dati vengono memorizzati lungo tracce o piste concentriche,
immaginate come cerchi sulla superficie del disco stesso. Ogni traccia è fisicamente
suddivisa in un numero prefissato di blocchi, o settori, ognuno dei quali è individuato da
un indirizzo, con un criterio simile a quello schematizzato nella figura 5.

TRACCIA

SETTORI

TRACCIA

Figura 5 - Superficie di un disco

Esistono vari tipi di dischi. Una prima importante classificazione è rappresentata da:

1) dischi rigidi,
2) dischi flessibili.

I dischi rigidi sono formati da un piatto metallico ricoperto da materiale magnetizzabile.


Questi supporti ruotano rispetto ad un asse centrale, permettendo operazioni di lettura e
scrittura a "testine" magnetiche, che sfruttano, come quelle dei nastri, il fenomeno
dell'induzione. A seconda di come sono disposte le testine si hanno dischi a testine fisse o
dischi a testine mobili dove le testine sono in grado di essere spostate, sia pure solo trasver-
salmente. Spesso, se non quasi sempre, vengono usati insiemi di dischi, chiamati disk pack,
allineati e ruotanti intorno ad un asse comune, come schematizzato (sia pure in modo molto
schematico e non realistico) nella figura 6.
I dischi a testine fisse si presentano (o forse è meglio dire si presentavano) quasi sempre
come dischi singoli ed hanno un insieme di testine fisso: ogni traccia ha una sua testina che
rimane appunto fissa, mentre il disco e, quindi, la traccia gira21. I dischi a testine mobili (in

20 Si pensi ai dispositivi solid state, costituiti da circuiti elettronici, che cominciano a sostituire in alcuni personal computer
i dischi magnetici; il caso dei CD prima e dei DVD poi, sino ad arrivare ai BD, delle schede SD e delle memori pen è
diverso, in quanto non rimangono sempre inseriti nelle rispettive unità e non sono quindi permanentemente collegati al
sistema.
21 I dischi a testine fisse, erano abbastanza usati fino a qualche decina di anni fa, quando le memorie centrali erano
proporzionalmente molto più costose. Con la stessa filosofia si usavano anche "tamburi" magnetici, dotati perfino di più

17
pratica i soli esistenti) si differenziano dai primi per il fatto che l'unità ha una sola testina
per faccia. Nel caso dei disk pack, tutte le testine sono collegate ad un supporto laterale e
formano una specie di "pettine": si possono muovere solo tutte insieme. Il pettine si muove
trasversalmente rispetto al disco, posizionando così le testine sulla traccia interessata alla
lettura e la scrittura.

Figura 6 - Struttura di un disk pack

Le unità a disco si possono classificare anche in rimovibili e non rimovibili, in base alla
possibilità di poter sostituire o meno il supporto magnetico con un altro, rendendo quindi
teoricamente non limitato il numero di dati trattabili, attraverso una specifica unità (drive).
Dal punto di vista di utilizzazione fisica del supporto, l'organizzazione dei dati su dischi
può avvenire in due modi:

1) a settori,
2) a cilindri.

Nel primo caso la superficie del disco è considerata come divisa in più settori, ognuno dei
quali occupa una porzione di pista; l'identificazione del record avviene in base alla
indicazione del numero di settore.
Nel secondo caso si considerano le tracce che occupano una determinata posizione su tutte
le facce e l'insieme di tali tracce va a formare un cilindro; si tratta ovviamente di un cilindro
virtuale. Per trattare un record dovremo quindi indicare il cilindro (numero di traccia) e poi
la faccia. Il cilindro è costituito, in pratica, dall'insieme di tracce (piste) “accedibili”
contemporaneamente (senza spostare il pettine delle testine).
Questo secondo metodo, soprattutto nel caso dei disk pack, sarà conveniente per registrare
i dati da trattare, onde limitare i movimenti delle testine, con conseguenti perdite di tempo.
In genere, salvo applicazioni particolari, l’utilizzazione di questi dispositivi nel caso dei
personal computer è a settori, sistema meno efficiente ma più semplice per l’utilizzatore.
Per accedere ad un record è, in ogni caso, necessario conoscere la sua posizione in maniera
tale da poter effettuare le dovute operazioni. Al di là dell'organizzazione fisica dei dati,
appena accennata, e di quella logica, di cui tratteremo sommariamente più avanti, vediamo
ora quella che potremmo chiamare la gerarchia delle varie componenti di una chiave di

testine per traccia, che venivano utilizzati per mantenere memorizzati programmi e dati letti e/o aggiornati molto spesso
e che sarebbe stato impossibile tenere nelle, allora limitate, capacità delle memorie centrali.

18
accesso al disco (in pratica di un indirizzo), per individuare un record. A questo scopo
dovremo specificare:

1) l'unità a disco interessata,


2) il cilindro dove si trova il record,
3) la faccia, fra quelle che fanno parte del cilindro,
4) il settore.

L'utilizzo di tutte queste componenti della chiave comporta dei tempi, che, in parte, si
possono predeterminare, mentre, negli altri casi, sono esprimibili solo attraverso una valuta-
zione media. La somma di questi tempi determina quello che abbiamo chiamato "tempo di
accesso". Fra i quattro elementi sopra indicati, il primo ed il terzo comportano commutazioni
di tipo elettronico ed hanno, quindi, tempi trascurabili; il secondo comporta, invece, uno
spostamento meccanico delle testine in senso trasversale ed è in assoluto il più rilevante,
quello al punto quattro è legato alla velocità di rotazione del dispositivo e può essere
considerato, in media, pari alla metà del tempo necessario ad una rotazione. 22
Per quanto riguarda i dischi flessibili (floppy-disk), comunemente usati con i personal
computer fino ad una decina di anni fa, essi erano costituiti da un particolare materiale
plastico (mylar), ricoperto da una sostanza magnetizzabile (ossido di ferro o simile). Il tutto
è inserito in una custodia di cartoncino o di plastica. Quelli nelle custodie di cartoncino, i
primi realizzati, erano flessibili e da questa caratteristica deriva il loro nome.
La loro struttura è analoga a quella degli altri dischi, con due facce, divise in tracce. Anche
in questo caso, ogni traccia era suddivisa in zone chiamate settori.
Storicamente i primi tipi di questi supporti avevano una custodia con lati di 8 pollici
(sinteticamente: 8") ed erano utilizzati anche su medi e grandi sistemi elettronici. Con la
nascita dei personal computer, sono stati presto prodotti in un nuovo standard di 5"1/4, con
capacità via via crescenti, fino ad arrivare a 2 standard: 360 Kb e 1,2 Mb (ad alta densità)23.
Successivamente sono entrati nell'uso quelli di 3"1/2, con custodia rigida e due possibili
densità: 720 Kb e 1,44 Mb.

DISCHI OTTICI

Un trend di sviluppo è rappresentato dalle memorie ausiliarie basate su tecnologia ottica,


pur rimanendo, ovviamente, nell'ambito della filosofia digitale. Si tratta dei dischi a
tecnologia laser, che quando sono usciti sono stati identificati con il termine compact disk o
CD, e che si possono distinguere, in base alla possibilità di essere o meno utilizzabili anche
in uscita, e a quante volte possono essere “scritti”:

1) CD-ROM (Compact Disk - Read Only Memory),


2) WORM (Write Once Read Many) o CD-R,
3) riscrivibili o CD-RW.

22 Il movimento trasversale delle testine può essere valutato, a titolo indicativo, fra 20 e 70 millisecondi, mentre la metà
del tempo di rotazione può essere stimato intorno ai 10 millisecondi, se abbiamo un disco che fa circa 50 giri al secondo
(attualmente le unità più veloci, fra quelle di uso comune, fanno 120 giri al secondo).
23 Come per le misure di peso, lunghezza e capacità, anche per le dimensioni delle memorie degli elaboratori è invalso
l'uso di simboli quali K, M e G, per indicare multipli del byte; in particolare, però, Kb (kilo-byte) equivale a 1024 byte (la
potenza di 2 più vicina al mille), Mb (mega-byte) sta per 1024x1024 byte, mentre Gb (giga-byte) equivale a
1024x1024x1024 byte, quantità vicina, ma superiore, ad un miliardo byte.

19
I primi, a livello utilizzatore finale, sono solo leggibili e servono, principalmente, alla
diffusione di testi, enciclopedie, raccolte di programmi, ecc.; hanno una capacità che può
arrivare a circa 600/720 Mb. Sono nati appena è stata resa disponibile la tecnologia ottica
per i CD musicali, negli anni ’80 e che erano dimensionati per contenere in un solo disco la
Nona sinfonia di Beethoven.
I secondi possono essere usati in uscita dall'utente una sola volta, e, come i precedenti, non
hanno poi limiti in fase di lettura. Hanno le stesse capacità Mb di quelli sopra citati e
servono, prevalentemente, ad effettuare copie di salvataggio di archivi. Una loro
caratteristica è costituita, in certi casi, dalla possibilità di cancellazione logica, e non anche
fisica, di parte di quanto registrato. La cancellazione logica fa, comunque, diminuire la
capacità del supporto.
Gli ultimi, realizzati in un primo momento con tecnologie magneto-ottiche, costituiscono lo
sbocco finale di questo nuovo approccio alla memorizzazione dei dati. Sono disponibili sul
mercato a costi maggiori e con prestazioni inferiori per quanto riguarda la velocità di
registrazione; in genere la possibilità di riscrittura si limita ad un centinaio di volte.
I DVD (Digital Versatile Disc) che con due lati e doppio strato possono arrivare a 17 GB e i
BD (Blu-ray Disc) possono arrivare a 128, e a livello sperimentale a 200 GB. Entrambi
costituiscono evoluzioni tecnologiche dei CD basate su lunghezze d’onda sempre più corte
della luce laser che permettono tracce e punti di memorizzazione sempre più piccoli;
entrambi condividono con i CD la possibilità di essere –ROM, -R, RW.

ALTRE MEMORIE AUSILIARIE

Gli sforzi della tecnologia, rivolti a progettare dispositivi ad accesso diretto meno costosi
delle unità a disco, hanno portato, in passato, alla realizzazione di vari dispositivi,
generalmente chiamati con il termine "mass storage", con caratteristiche intermedie fra i
dischi ed i nastri magnetici.
Una prima realizzazione degli anni 60 si è concretizzata nelle unità a "celle magnetiche", che
consistevano in rettangoli di plastica, ricoperti da una superficie magnetizzabile, che ve-
nivano selezionati da appositi organi meccanici ed avvolti sopra cilindri, in modo da
permettere la lettura e la scrittura tramite apposite testine.
Successivamente, sono stati realizzati dei dispositivi più sicuri, basati su "cartucce
magnetiche", in grado di contenere, complessivamente, fino a circa 500 Gb.
L'ultima realizzazione in questo ambito, destinata ad una rapida obsolescenza, era costituita
da una macchina capace di gestire, in modo automatico, un insieme di "cassette
magnetiche", con una capacità massima di registrazione dell'ordine di un Tb (Tb = Terabyte:
1024 Gb.), ora contenibili in un normale hard disk di un personal computer appena un po’
avanzato.

4. L'ELABORAZIONE A DISTANZA

Bisogna precisare fin da subito che in questo paragrafo, almeno in un primo momento, non
ci riferiamo ad Internet, ma a tutto ciò che consente questa particolare (anche se molto
diffusa e purtroppo la sola evidenza che ne ha la grande maggioranza delle persone)
realizzazione della comunicazione pratica fra elaboratori. Si tratta di qualcosa di molto
importante, che ha inciso profondamente sul modo di vivere di oggi, ma per capire che è
20
solo un aspetto della tematica qui trattata è bene partire dalle caratteristiche tecniche ed
organizzative che hanno preceduto lo sviluppo di questa rete, realizzata negli anni ’90 del
secolo scorso dall’Università della California.

Il trattamento a distanza delle informazioni è possibile grazie all'uso degli strumenti e delle
tecniche di telecomunicazione, campo tecnologico che si è notevolmente sviluppato, pa-
rallelamente a quello dell'informatica. Tutte le problematiche che riguardano l'applicazione
delle telecomunicazioni all'informatica vanno a costituire un settore identificabile con il
termine "trasmissione dati" o "teleprocessing" (in sigla TP).
Le comunicazioni con e fra gli elaboratori risalgono agli anni '60 del novecento, quando si
diffusero i sistemi tempo reale e time-sharing24, e si ebbero così le prime esperienze effettive
di "trattamento on-line" delle informazioni.
Queste tecnologie non si limitarono a distribuire le risorse fra un computer e più utenti, ma
fecero intravedere la possibilità di estendersi ai rapporti fra più computer legati fra loro da
una rete di comunicazione. E' proprio in questo settore che rientrano, infatti, anche le
problematiche riguardanti le reti di elaboratori, strumenti che permettono, appunto, lo
scambio di informazioni e la cooperazione fra elaboratori fisicamente distanti fra di loro.
Successivamente, a partire dagli anni '70, si è sentito il bisogno anche di progetti che
riguardassero la diffusione di questi strumenti di comunicazione, anche a livello
internazionale.
Le applicazioni in teleprocessing "tradizionali" sono quelle che prevedono il collegamento
di una serie di terminali ad un sistema centrale; attraverso i terminali gli utenti interagiscono
con il sistema stesso per fornire ed ottenere informazioni. Si pensi, ad esempio, alle
prenotazioni dei posti presso le compagnie aeree o ferroviarie, alle operazioni presso gli
sportelli delle banche, ecc..
In questi casi, l'elaboratore ha il controllo dei terminali ad esso collegati, che possono
effettuare solo specifiche operazioni già previste. Dal punto di vista hardware, è necessario
anche un particolare dispositivo di cui abbiamo già parlato: "l'unità governo linee". Dal
punto di vista del software, come vedremo nel capitolo 6, sono necessari programmi, che si
avvalgano dei metodi di accesso alle telecomunicazioni. In questo ambito, le applicazioni
che riguardano il trasferimento di archivi, anziché semplici operazioni interattive, possono
richiedere l'utilizzo di apparecchiature più sofisticate rispetto ai normali terminali, come
stazioni di lavoro di tipo batch o altri elaboratori. Le operazioni di acquisizione dati e di
consultazione di archivi sono, invece, meno complesse e possono avvalersi di un semplice
terminale, video o scrivente.
Gli elementi fondamentali di un sistema di elaborazione a distanza, considerando un ideale
percorso fra memoria centrale e tastiera di un videoterminale, sono:

1) l'unità di canale,
2) l'unità governo linee,
3) un modem,
4) una linea di trasmissione dati,
5) un modem,
6) il dispositivo governo linea del terminale,
7) le altre componenti del terminale.

24 Si veda il capitolo 6.

21
In figura 7 vediamo rappresentato graficamente, in ordine logico, questo insieme di
dispositivi.

MEMORIA UNITA' DI GOVERNO


M M DISPOSITIVO
CENTRALE CANALE LINEE
GOVERNO LINEE

Figura 7 - Schematizzazione di un sistema di trasmissione dati

Dell'unità di canale abbiamo già parlato nel paragrafo 4. Ricordiamo che questo dispositivo
è in grado di controllare l'input-output di uno o più programmi, mentre l'unità centrale di
elaborazione si dedica ad altre applicazioni.
L'unità governo linee è un esempio dei diversi dispositivi che si interpongono fra i canali e le
varie unità periferiche da controllare. In questo caso, i compiti da svolgere sono numerosi e
relativamente più complessi di quelli eseguiti da altre unità di governo; a titolo indicativo
ne elenchiamo qualcuno, anche se, in pratica, una specifica unità, a seconda del modello,
potrà avere funzioni, almeno in parte, differenti:

a) trasformazione di segnali paralleli in seriali e viceversa; i byte, che rappresentano le


informazioni da trasmettere e da ricevere, circolano all'interno dell'elaboratore e sono
trasportati dalla memoria centrale a questa unità utilizzando un conduttore per ogni
bit; sulla linea di trasmissione dati, costituita in genere da due conduttori, i dati
saranno inviati e ricevuti come sequenze di singoli bit;
b) controllo di correttezza dei messaggi ricevuti, dal punto di vista della trasmissione dei
dati e non certamente dell'applicazione a cui sono diretti; in trasmissione assumono
particolare importanza i già citati controlli di ridondanza;
c) indirizzamento dei vari messaggi al terminale interessato fra quelli che sono collegati
all'unità tramite le linee di trasmissione e, nell'altro senso, dei messaggi ricevuti al
programma che li deve gestire;
d) conversione dei caratteri trasmessi e ricevuti dall'alfabeto interno della macchina, ad
esempio: EBCDIC, e l'alfabeto utilizzato in trasmissione, ad esempio: ASCII.

I modem sono dispositivi necessari per evitare che la resistenza dei conduttori, che
costituiscono la linea di trasmissione, attenui i segnali digitali dopo solo qualche centinaio
di metri; prendono il nome dalla funzione svolta: modulatore-demodulatore. In pratica, si
tratta di risolvere il problema ora accennato "sovrapponendo" ai segnali digitali una
"portante" che li modula, in ampiezza od in frequenza, con un criterio simile a quello usato,
ad esempio, per la filodiffusione. E' evidente che tali segnali non sono più utilizzabili da un
dispositivo digitale, senza che avvenga l'operazione inversa.
Le linee di trasmissione sono in genere costituite da linee telefoniche, ivi compresi
collegamenti in fibra ottica e ponti radio.
A seconda del tipo di linea utilizzata, si possono avere due diversi tipi di collegamento:

1) commutato,

22
2) dedicato.

Si parla di collegamento commutato quando viene utilizzato un qualunque punto telefonico,


dotato anche di un normale telefono. La connessione ottenuta tramite la rete telefonica è
mantenuta solo per la durata della singola chiamata, effettuata componendo il numero e
commutando, poi, la linea sul modem, a connessione avvenuta. Dall'altro lato potrà esserci
un operatore con gli stessi dispositivi, oppure un modem a risposta automatica. Al termine
del lavoro il circuito viene scollegato. Fino a pochi anni fa anche i personal computer
potevano essere dotati di modem interno per collegarsi tramite una normale linea telefonica,
utilizzando, ad esempio, società di telecomunicazione o provider che gestivano questo
servizio.
La linea commutata risente dei disturbi che subisce una linea telefonica, passando anche dai
selettori delle centrali. È bene, quindi, che la trasmissione non avvenga a velocità troppo
elevate, onde ridurre le possibilità di errore; la velocità viene praticamente misurata in
bit/sec., anche se andrebbe misurata con un'altra unità di misura: il BAUD, che è
equivalente ai bit al secondo solo se gli stati in trasmissione, ossia i livelli del segnale, sono
solo due.
Il collegamento si dice invece dedicato, quando vengono uniti due o più punti di
trasmissione (elaboratore ed uno o più terminali) in maniera permanente, senza bisogno di
stabilire ogni volta la connessione ricorrendo ai selettori telefonici. Utilizzando un circuito
affittato è possibile avere velocità maggiori rispetto all'altro tipo di collegamento; per
rendere l’idea si tratta, ad esempio, della connessione ADSL.
Per far capire meglio la differenza, si può considerare che nel caso della linea commutata,
pur con prestazioni inferiori, si può collegarci direttamente ad un sistema remoto di nostra
scelta, che può variare anche ad ogni collegamento e si paga in base agli scatti, con quella
dedicata, siamo collegati in modo fisso e più efficiente ma ad un dato sistema (da cui poi si
può anche andare altrove se previsto) e si paga un canone stabilito (in genere non legato
all’utilizzo).
Le linee di trasmissione possono essere classificate anche in:

1) full-duplex,
2) half-duplex,
3) simplex.

Si ha il modo full-duplex, quando la trasmissione dei dati può avvenire contemporaneamente


in entrambe le direzioni (modalità generalmente non realizzabile con linee commutate).
Si ha, invece, il modo half-duplex, quando la trasmissione avviene nei due sensi, ma non
contemporaneamente, bensì in tempi diversi.
Con la modalità simplex, scarsamente utilizzata, la trasmissione può avvenire sempre in
un'unica direzione (in pratica serve a collegare sensori o schermi remoti).
Alcuni esempi di schemi fisici di collegamento che si possono effettuare con linee di
trasmissione dati sono:

1) punto-punto,
2) multipunto,
3) con concentratori.

23
Si parla di linea punto-punto quando il collegamento è diretto fra due soli punti: due
elaboratori o un elaboratore e un terminale.
Quello multipunto è un tipo di collegamento che, partendo dall'elaboratore, si dirama,
collegando più punti, per consentire risparmi nel caso di collegamenti dedicati.
Per quanto riguarda il terzo tipo di collegamento, quello con concentratore, possiamo dire
che esso è un tipo di collegamento ad alta velocità (full-duplex) fra due punti e la presenza
di un dispositivo remoto; tale dispositivo remoto, posto vicino ad un insieme di utilizzatori,
ha la funzione di concentratore: gestisce e smista i messaggi verso i terminali o gli
elaboratori a collegati al concentratore tramite altri circuiti (linee commutate o dedicate,
generalmente half-duplex). Questa modalità serve a trarre vantaggi sia economici che
funzionali.

Come accennato, ormai non esistono quasi più terminali in senso stretto, dato che è molto
più economico utilizzare a questo scopo i personal computer; tuttavia pensando
all’evoluzione cui abbiamo assistito fino a pochi anni fa e per l’esistenza di diverse filosofie
di utilizzo dei sistemi elettronici (per le quali la classificazione può essere ancora considerata
valida), possiamo distinguere, schematicamente, terminali:

1) interattivi,
2) batch,
3) intelligenti.

I terminali interattivi funzionano con una logica di colloquio a domanda e risposta, facendo
assumere all'elaboratore elettronico il ruolo, almeno apparente, di "interlocutore" per
l'utente finale; consentono, infatti, di scambiare messaggi, fra utilizzatore e sistema
elettronico, costituiti da un numero molto limitato di byte: da 1 fino all'ammontare massimo
contenibile nello schermo, e quindi nella memoria, di un videoterminale (normalmente 2000
caratteri). Possono essere costituiti da una telescrivente, un videoterminale od un personal
computer, dotato di un programma di simulazione che lo "trasforma" in un "semplice" di-
spositivo di input-output.
I terminali batch sono dotati, oltre che di tastiera e di un dispositivo di output per consentire
all'operatore il controllo della linea ed il ricevimento di messaggi di "servizio", anche di
memorie ausiliarie e di una stampante abbastanza veloce, per consentire l'invio di rilevanti
quantità di dati nelle due direzioni, con una logica batch25. Anche questi terminali possono
essere sostituiti da mini e personal computer dotati di appositi programmi.
I terminali intelligenti sono costituiti da elaboratori elettronici, collegati ad un elaboratore
principale (host computer), che possono colloquiare a livelli di sofisticazione superiore a
quelli possibili con gli altri tipi di terminali.
L'utilizzo di più elaboratori collegati fra loro ha portato, nel tempo, alla nascita delle reti di
comunicazione, livello organizzativo superiore a quello che prevede semplici terminali
collegati ad un singolo sistema elettronico. Da questo tipo di organizzazione è nato anche il
concetto di "informatica distribuita".
Normalmente si parla di informatica distribuita riferendoci ad una filosofia e ad un insieme
di tecniche che permettono l'ottenimento dei cosiddetti "sistemi distribuiti"; sistemi che
prevedono una diffusione delle risorse informatiche: capacità di elaborazione e di
memorizzazione delle informazioni. Tali risorse possono essere dislocate in sedi diverse, e

25 Il concetto di elaborazione batch è trattato nel capitolo 6 di questo testo.

24
collegate, sia fisicamente, che logicamente, tra di loro, restando a disposizione delle
specifiche e diverse esigenze di lavoro degli utilizzatori26.
Una delle prime reti fu la ARPA che, nel 1969, era costituita da quattro computer collegati
fra loro. In pochi anni si assiste a notevoli innovazioni: nascono le applicazioni client/server,
come ad esempio TELNET (che permette di usare un elaboratore remoto da un terminale)
ed FTP (che permette il trasferimento di file fra elaboratori), si utilizza il routing dinamico
(la possibilità di raggiungere un determinato elaboratore utilizzando linee di comunicazioni
alternative in modo dinamico in base al traffico o alle possibili interruzioni, protocolli (criteri
da rispettare per inserire e far funzione un elaboratore in una specifica rete) standard,
almeno per importanti settori della ricerca.
In pratica, stanno nascendo le reti geografiche (quelle che poi saranno chiamate WAN –
Wide Area Network). Fra queste una molto importante sarà BITNET, rete proprietaria IBM
legata però a protocolli definiti da questa casa costruttrice. Ben presto BITNET (articolata in
ASIANET, EARN, ecc.) copre tutto il mondo.
All’inizio degli anni ottanta i dipartimenti di informatica di varie università americane
vengono collegata da CSNET (Computer Science Network), finanziata da NFS National
Science Foundation.
Nel frattempo, con l’avvento di macchine specializzate per la così detta office automation
prima e, soprattutto, con quello dei personal computer nascono anche le reti locali (LAN =
Local Area Network) che permettono di "interconnettere" diversi elaboratori situati nello
stesso luogo, senza l'uso di linee di comunicazione pubbliche dotate di modem. Tali
elaboratori divengono così componenti di un sistema di elaborazione complessivo; vengono
realizzati vari tipi di reti locali: a bus, a stella, ad anello (tipica la token ring della IBM,
logicamente ad anello e fisicamente a stella); quella che diventerà lo standard, vista la sua
semplicità ed economicità, sarà ethernet (a bus).
Nasce l’idea di collegare le LAN (ad esempio quelle dei 9 campus dell’Università Statale
della California) fra loro usando linee di trasmissione dorsali utilizzando un protocolli
standard (il TCP e l’IP).
Nel 1981 INTERNET ha solo 213 utilizzatori; la sua diffusione sarà limitata per diversi anni
(nel 1984 arriva a 1000 utenti), fino a che nel 1986 nasce NSFNET (National Science
Foundation Network) che consente l’accesso ai super-computer tramite il protocollo
TCP/IP e che dall’inizio degli anni ’90 passa ad Internet mentre ARPANET viene
abbandonata; questo segna una esplosione della rete. A fine ’80 inizio ’90 emergono i primi
provider Internet commerciali. A ottobre 1990 abbiamo già 313.000 utenti.
Ancora una volta saranno però le applicazioni a fare sviluppare l’utenza: mentre
l’Università del Minnessota sta sviluppando un prodotto simile, anche se meno avanzato,
Gopher, al CERN (Centro Europeo di Ricerca Nucleare) di Ginevra nel 1991 viene realizzato
World Wide Web (la ragnatela che copre il mondo), applicazione client/server che rende
possibile la navigazione fra i siti Internet e che dal 1993 sarà reso disponibile per tutti gli
utenti, non solo per quelli interni al CERN.
Con l’abbandono del finanziamento pubblico da parte NFS delle linee dorsali americane,
cessano le limitazioni di uso commerciale e nel 1996 si raggiungono 10 milioni di elaboratori
collegati in rete, che ci porterà ad un miliardo di utenti nel 2009 e ad oltre 5 miliardi oggi.
A questo punto è utile dare pochi cenni sulla tecnologia Internet.
Internet è una rete, nata dall’aggregazione di LAN, tramite linee dorsali, che utilizza i
protocolli TCP (Trasmission Control Protocol) e IP (Internet Protocol). Il primo serve a

26 Esistono

25
gestire le comunicazione, mentre il secondo serve alla gestione fisica della rete; tutti gli
elaboratori collegati in Internet devono utilizzare tali protocolli.
In pratica possiamo considerare quattro livelli: applicativo, gestione delle comunicazioni,
gestore di rete, rete fisica. Quando, ad esempio, siamo collegati ad un sito web, abbiamo il
livello applicativo costituito da un browser che su fa una richiesta ad un server, dove risiede
il sito; la richiesta, presa in carico dal TCP viene controllata e viene identificato l’indirizzo
cui farla pervenire. L’IP si occupa del trasporto di quanto deve essere spedito; se il
messaggio è superiore ad un certo limite viene diviso in pacchetti che saranno spediti al
computer destinatario, anche attraverso strade diverse (in questo si sostanzia il routing
dinamico). A questo punto il messaggio, dalla memoria dell’elaboratore, tramite il canale e
la porta di rete (o quella USB) viene trasmesso sulla linea. Al ritorno, quando il server avrà
risposto avviene la stessa cosa: l’IP prende gli eventuali pacchetti li ricompone, ottenendo
un messaggio che il TCP fa arrivare all’applicazione client (ad esempio il programma di
navigazione).
Per essere identificati in rete i computer hanno un numero di IP composto da 4 byte (poiché
questo numero risulta insufficiente ci si sta spostando verso l’uso IP a 6 byte).
La rete dell’Università degli Studi di Firenze ha indirizzo 150.217.XXX.XXX; in altre parole
abbiamo a disposizione oltre 65000 possibili indirizzi. A tutto questo si aggiungono altri
aspetti, come l’assegnazione dinamica dell’indirizzo, in modo da assegnarlo solo ai
computer effettivamente collegati in una rete locale ossia il DHCP (Dynamic Host
Configuration Protocol) o l’uso di rete private che appaino all’esterno con un solo indirizzo
IP.
Nessuno di noi utilizza però, se non raramente, indirizzi numerici; di solito ci ricordiamo
del server web dell’Università degli Studi di Firenze con la denominazione di: www.unifi.it
ossia tramite un indirizzo simbolico (che possiamo ricordare facilmente). Si tratta di capire
come può il sistema appena presentato far raggiungere una vostra richiesta a tale
elaboratore senza conoscerne l’indirizzo IP. Questo avviene tramite i così detti DNS
(Domain Name Server) che sono in grado di fare tale traduzione e che auto-apprendono,
via, via, memorizzando gli indirizzi e i nomi simbolici che trattano; quando non sono in
grado di “risolvere” un indirizzo simbolico, si rivolgono ad altri DNS e così via fino a trovare
quello che può farlo.
Al di là dell’impatto di Internet sulla nostra società bisogna sempre tenere presente due
aspetti: 1) che Internet si basa comunque sull’uso di reti e su tutti i necessari dispositivi che
permettono le elaborazioni a distanza; 2) che Internet non è che un esempio (sia pure molto
rilevante) di rete e che le applicazioni condotte tramite il suo utilizzo sono solo una parte di
quelle che giornalmente vengono progettate, realizzate ed usate.

5 CLASSIFICAZIONE DEGLI ELABORATORI

La classificazione degli elaboratori, che qui presentiamo, è solo indicativa, sia perché è
suscettibile di revisione, anche nel breve periodo, data la grande velocità di sviluppo
tecnologico del settore, sia perché tipi di macchine classificati in una categoria possono avere
anche determinate caratteristiche proprie di un'altra. Generalmente, non essendo facile dare
definizioni di tipo teorico, si usano criteri di valutazione di tipo economico o legati alle
dimensione di alcuni dispositivi.
Con le dovute precauzioni possiamo tentare di dare una scala di classificazione, in base
all'architettura ed alle capacità di calcolo e di memorizzazione.

26
Ci limitiamo ad una brevissima descrizione di alcune classi di elaboratori, con cui molte
persone possono entrare in contatto, e precisamente:

1) home computer,
2) personal computer,
3) le workstation.

Gli home computer storicamente erano piccoli calcolatori, nati per usi hobbistici o per semplici
applicazioni domestiche, che utilizzavano un comune televisore come schermo e registratori
a cassetta. Erano classificabili in tale categoria i Commodor, i Sinclair, alcuni Atari.
Attualmente farei rientrare in questa categoria i tablet e gli smartphone, data la loro
limitatezza (in relazione al livello degli elaboratori di oggi) nelle periferiche e nelle
prestazioni.
I personal computer che, pur essendo molto economici, sono suscettibili di utilizzo a fini di
lavoro. Sono formati da una unità centrale di elaborazione costituita da un microprocessore
inserito in una scheda, la quale contiene spesso anche la memoria centrale, da un video ed
una tastiera (come unità di I/O). Possono avere periferiche anche molto sosfisticate. Sono
dotati anche di dischi (magnetici ma anche solid state), con capacità che possono ormai
arrivare a centinaia di GB, oltre che di dispositivi avanzati di comunicazione sia via cavo sia
via radio. Spesso sono portatili e dotati di programmi applicativi generalizzati, quali
procedure d'ufficio, trattamento testi, fogli elettronici, gestione archivi, pacchetti particolari
per uso statistico, ecc.. La loro struttura fisica è incentrata su un bus (che si trova sulla così
detta scheda madre, cui si collegano memorie, processori e governi delle periferiche,
schematizzabile come in figura 12).

Figura 12 - Collegamento fra varie unità di un personal

Le workstation sono di macchine particolarmente potenti e tali da consentire applicazioni


molto evolute e professionali; consentono una reale multiutenza e sono utilizzate anche in
modo remoto. Su queste macchine sono infatti installati molti server web, server di posta,
ecc.. Possono avere periferiche particolarmente sofisticate, video ad altissima risoluzione,
gestire programmi che richiedano elevate necessità di calcolo. Costruite con processori
diversi da quelli utilizzati per i personal computer, sono di solito gestite con sistemi
operativi della famiglia Unix. Cluster di tali macchine sono sempre più utilizzati per il
supercalcolo.

27
28

Potrebbero piacerti anche