# IBM 3270

L'IBM 3270 è una serie di terminali prodotta da IBM a partire dal 1971 normalmente utilizzata per interagire con i mainframe IBM. La serie 3270 sostituì il terminale IBM 2260. I terminali della serie 3270 comunicavano su un'interfaccia proprietaria ad alta velocità basata su un cavo coassiale e non trasferivano le informazioni per singolo carattere ma a blocchi, riducendo il numero di chiamate di interrupt di input/output usate per gestire il flusso di dati.
Nonostante IBM abbia cessato la produzione dei terminali 3270 da diverso tempo, il protocollo IBM 3270 è ancora utilizzato in diversi emulatori di terminale, come ad esempio x3270.

## Caratteristiche

La serie 3270 fu progettata per collegarsi a computer mainframe da postazioni anche a distanze remote tramite la tecnologia disponibile nei primi anni settanta. Uno dei principali obiettivi dei terminali 3270 era quello di ridurre il numero dati trasmessi ed il numero di interrupt inviati al mainframe. Per questo motivo i terminali erano disposti come cluster con uno o più display e/o stampanti collegati ad un'unità di controllo (i modelli 3275 e 3276 includevano un'unità di controllo) tramite cavi coassiali, anche se col passare del tempo questi ultimi furono sostituiti da altri cavi come i classici doppini o quelli ethernet ma anche da reti token ring. Più unità di controllo locale erano collegate direttamente ad un'unità di controllo remota la quale era connessa ad una linea di comunicazione tramite un modem.
Ogni blocco di dati trasmesso conteneva sia il testo da visualizzare che i codici per la sua formattazione: questa comprendeva la possibilità di dividere lo schermo in aree all'interno delle quali il testo aveva "attributi" comuni quali il colore, l'evidenziazione, il set usato, ed altri. Un attributo occupava una cella fisica dello schermo e tale posizione indicava anche l'inizio e la fine di uno specifico "campo" (o "field"). Questa divisione in campi permetteva di spedire al mainframe solo le porzioni di testo che erano state modificate, riducendo la quantità di dati inviati.
Le prime versioni dei modelli 3270 offrivano 3 tipi di tastiere. La prima era la typewriter keyboard, offerta nella versione a 66 tasti (senza tasti funzione) oppure 78 tasti (con 12 tasti funzione), entrambe con 2 tasti speciali "PA" (program attention). La seconda era la data entry keyboard, con 5 tasti funzione e 2 tasti PA. Infine c'era la operator console keyboard, con 12 tasti funzione e 2 tasti PA. I modelli seguenti furono abbinati a tastiere con 24 tasti funzione e 3 tasti PA. Quando uno di questi tasti speciali era premuto l'unità di controllo generava un interrupt al computer a cui era connesso. In questo modo la CPU non era interrotta ad ogni tasto premuto.

## Software

Questo modo di gestire le informazioni non permetteva l'uso di molti programmi che usavano la formattazione del testo a video o combinazioni di tasti come ad esempio il foglio elettronico Lotus 1-2-3 ma dovevano essere modificati per adattarli all'uso su questi terminali, come ad esempio IBM OfficeVision, oppure realizzati specificatamente, come l'editor di testo XEDIT, che faceva uso intensivo delle caratteristiche dell'ambiente 3270.

## Modelli

I terminali della serie 3270 erano composti da display, stampanti e controller. Per alcuni modelli, come il 3275 ed il 3277, c'erano degli accessori addizionali come la penna ottica o la possibilità di usare la codifica dei caratteri ASCII invece di quella EBCDIC, un allarme acustico, un blocco per la tastiera che impediva all'operatore di digitare delle lettere in un campo numerico oppure un lettore di schede con banda magnetica.

### Display

* 3277 modello 1: terminale 40×12
* 3277 modello 2: terminale 80×24 (il modello più diffuso)
* 3277 modello 3: terminale 80×32
* 3277 GA: un 3277 con interfaccia RS232C, spesso usata per pilotare uno schermo monocromatico Tektronix 4013 o 4015
* 3278 modelli 1-5: nuova generazione, con caratteri accentati per l'uso in Paesi con linugaggi che li richiedevano
** modello 1: 80×12
** modello 2: 80×24
** modello 3: 80×32 o 80×24
** modello 4: 80×43 o 80×24
** modello 5: 132×27 o 80×24
* 3278 PS: caratteri programmabili; capace di visualizzare grafica monocromatica
* 3279: terminale a colori: 4 colori per il testo, 7 colori per il modello con scheda grafica addizionale
* 3290: display monocromatico color ambra di grandi dimensioni, capace di visualizzare varie modalità, incluse 4 modalità dei terminali 3278 modello 2 oppure una singola modalità 160×62; supportato anche il partizionamento dell'unità a disco
* 3178: terminale a basso costo (1983)
* 3179: terminale a colori a basso costo (1984)
* 3104: terminale a basso costo R-loop per il sistema IBM 8100
Nel 1983 fu prodotto l'IBM 3270 PC, un PC XT modificato con l'aggiunta di hardware apposito che permetteva di emulare un terminale 3270.

### Controller per display

* 3275: display remoto con funzioni di controller (nessun display aggiuntivo, 1 stampante aggiuntiva)
* 3276: display remoto con funzioni di controller (poteva gestire un numero limitato di display o stampanti aggiuntive)

### Stampanti

* 3284: stampante a matrice d'aghi
* 3286: stampante a matrice d'aghi
* 3287: stampante a colori
* 3288: stampante a singole righe
* 3268-1: stampante singola collegabile via R-loop all'IBM 8100
IBM all'epoca usava il termine stampatrice invece di stampante come di uso comune.

### Controller

* 3271: unità di controllo remota
* 3272: unità di controllo locale
* 3274: unità di controllo cluster: si potevano collegare diversi modelli tramite BSC o SDLC, ed aveva fino a 32 porte coassiali
* 3174: unità di controllo cluster

## Telnet 3270

Il Telnet 3270, o tn3270, è un protocollo di rete che descrive il modo di spedire e ricevere dati sui terminali della serie 3270 nonché indica il software che permette di emulare tali terminali. Il tn3270 permette ad un emulatore di terminale 3270 di comunicare tramite rete TCP/IP invece che SNA. I client telnet classici non possono essere utilizzati come sostituti dei client tn3270 per via del modo diverso usato per scambiarsi i dati.