BLIT la prima GUI Multitasking

Grazie al numero impressionante di articoli relativi alla storia informatica, tutti sappiamo ormai che l’eccezionale GUI del LISA si deve al lavoro svolto presso lo XEROX PARC e all’ostinazione di Jobs nel trasformare il “mondo a finestre” in un prodotto di massa.

Tra l’OS del Lisa e il “Pilot” dello STAR esiste però un terzo attore, di cui si parla poco ma che riesce addirittura ad accreditarsi la palma di prima GUI Multitasking. Si tratta di Blit Terminal  (anche semplicemente Blit), ovvero il Bitmap Graphics Terminal realizzato nei Bell Labs nel 1982 da Rob Pike e Bart Locanthi Jr

pike locanthi

Rob Pike e Bart Locanthi Jr

Il nome “Blit” deriva dall’operazione “Bit BLIT” che combina un insieme di bitmap primitive per ottenere un elemento complesso attraverso un Raster Operator. L’intero processo è stato messo a punto per lo Xerox Alto (e come poteva essere altrimenti!) con una routine chiamata BitBLT.

In realtà i Bell Labs con Blit indicavano non soltanto il software, ma l’insieme tra esso (Blit Software) e l’hardware (Blit Hardware) del terminale, basato su CPU Motorola MC68000 da 4MHz, un display con risoluzione 800x1024x1 bit, 256Kb di memoria condivisa, 24Kb di Rom e una porta seriale RS-232. L’interazione con il sistema avveniva tramite la tastiera o il mouse in dotazione.

Il terminale aveva una doppia modalità di funzionamento: quando veniva lanciato somigliava decisamente al classico terminale testuale del DEC VT100, con tanto di cursore e relative sequenze di escape accettate. Quando si collegava all’ host Unix, poteva scaricare (tramite il comando mpx) il software necessario a renderizzare una completa GUI e gli specifici device per la gestione delle periferiche specifiche come, ad esempio, il mouse.  Il pacchetto completo acquista il nome di MPXTEM, e può essere logicamente scomposto nel Windows Environment MUX (realizzato da Pike), in grado di gestire finestre multiple e le relative interazioni, e nelle routine di multiplexing per la comunicazione tra terminale e host.

Da evidenziare che non esisteva un processore grafico dedicato, ma le operazioni video venivano interamente gestite sempre dalla CPU Motorola.

Lo scopo di BLIT, come evidenziato dallo stesso Pike in “The Blit: A Multiplexed Graphics Terminal”, era quello di 

“… [BLIT] exploits the multiprogramming capabilities of the Unix system which have been largely  underutilized because of the restrictions of conventional terminals.”

 [{BLIT} sfrutta le funzionalità di multiprogrammazione del sistema Unix, in gran parte sottoutilizzate a causa delle restrizioni dei terminali tradizionali.

e il tutto passava attraverso una gestione asincrona delle finestre, che avevano uno spazio proprio sullo schermo ed erano in grado sia di soprapporsi (overlap) che di aggiornarsi indipendentemente dal resto degli elementi presenti sul display. L’insieme di queste funzionalità venne definito Layers e ogni nuova finestra veniva avviata con un emulatore di terminale da cui scaricare e lanciare applicazioni complesse come: editorterminali avanzati, ecc.

blit

Blit Screenshot

La tecnologia Blit fu utilizzata nei prodotti commerciali di AT&T e Teletype ed ha influenzato in modo rilevante lo sviluppo di X Window, difatti il gestore grafico standard dei sistemi Unix, nonché, unitamente a SunView, lo sviluppo di Mac OS e Windows. Inoltre dalla presentazione di Blit, termini come “Terminal” (Terminale) e “Layers” (Livelli) sono diventati di uso comune in riferimento ai windows system.

at t 5620

AT&T 5620 alias Blit Terminal

Free Joomla templates by Ltheme