In un articolo precedente, in merito al recupero del computer Olivetti M300, ho fatto cenno ad un particolare Ambiente di lavoro chiamato GEM. In particolare ho accennato che, dove è possibile, lo installo e lo utilizzo accanto al DOS e all'interfaccia Windows. Questo, naturalmente, sui computer che cerco di recuperare e rimetto in funzione.
Questa preferenza deriva dal fatto che agli, ormai, albori della storia dei personal computer (e di cui, haimè!, faccio in parte anche io...) nel mio primo PC IBM installai proprio il GEM. Sarà perché, all'epoca, avere una interfaccia grafica ti faceva sembrare di lavorare con un Mac, sarà anche che, effettivamente, somigliava in modo incredibile all'interfaccia del Mac, utilizzavo in modo pesante questo ambiente.
Non si può fare un paragone con le interfacce e gli ambienti moderni, ma rivedere quelle icone monocromatiche mi riempie di nostalgia e mi fa tornare un po' più giovane, almeno nell'animo :-)
Quello che segue è una descrizione ed una storia del GEM. Le informazioni che riporto sono su Wikipedia, nella pagina dedicata. Quindi, se volete leggervi tutto ed avere altre informazioni e riferimento, recatevi presso:
http://it.wikipedia.org/wiki/GEM
Il GEM (Graphical Environment Manager) era un'interfaccia grafica creata da Digital Research, Inc. (DRI) per le versioni per Intel 8088 e Motorola 68000 del suo sistema operativo CP/M. Le versioni più recenti giravano anche su DOS ed altre piattaforme.
Il GEM fu noto principalmente per essere l'interfaccia grafica utente (o GUI) della serie di computer Atari ST, anche se in seguito non rimase limitato a questa piattaforma: il GEM fu offerto anche con una serie di computer IBM compatibili realizzati da Amstrad e successivamente divenne disponibile anche per i PC IBM standard, in un periodo in cui i PC AT a 6 MHz erano appena usciti ed il concetto di interfaccia grafica era all'inizio. Il GEM fu anche il cuore di un limitato numero di programmi DOS, il più rilevante dei quali fu Ventura Publisher. Fu poi portato anche su un certo numero di altri computer che non avevano un'interfaccia grafica, ma non raggiunse su queste piattaforme una popolarità degna di nota. DRI rilasciò anche il FlexGem, una versione studiata per il suo sistema operativo real-time FlexOS.
Il GEM nacque come libreria grafica di uso generico denominata GSX (Graphics System eXtension), sviluppato da un gruppo capitanato da Lee Jay Lorenzen che aveva da poco lasciato la Xerox PARC, che aveva realizzato la prima interfaccia grafica della storia, quella dello Xerox Alto.
Il GSX era essenzialmente un'implementazione specifica scritta da DRI dello standard grafico GKS proposto verso la fine degli anni settanta. Il GSX era stato concepito per permettere ai programmatori di DRI di scrivere programmi grafici per qualunque piattaforma su cui girasse il CP/M, un compito che richiedeva comunque uno sforzo notevole viste le enormi differenze hardware che i vari sistemi dell'epoca presentavano a livello grafico.
Una schermata del GEM |
Il GSX era composto di 2 parti:
- una selezione di applicazioni per le comuni operazioni di disegno tramite GSK
- i driver che erano responsabili della gestione dell'output.
La prima parte si chiamava GDOS e la seconda GIOS, un gioco di parole che riprendeva la divisione del CP/M in BDOS, la parte software indipendente dalla macchina, e BIOS, la parte specifica per essa.
Il GSX evolse verso un prodotto che più tardi divenne il GEM, un tentativo di realizzare una GUI completa usando il precedente lavoro sul GSX come sua base. Noto inizialmente come Crystal, un termine che riprendeva il progetto di IBM chiamato Glass, il nome fu poi cambiato in Gem, e da questo si arrivò all'acronimo GEM.
Sotto al GEM, il GSX divenne il GEM VDI, responsabile delle funzionalità grafiche e di disegno di base. Il VDI aggiungeva inoltre la possibilità di lavorare con caratteri multipli ed un insieme di nuovi comandi per il disegno raster ai comandi base del GSK che gestivano solo la grafica vettoriale. Il VDI permetteva poi di gestire le viewport, o porzioni di schermo, un'aggiunta importante da usare con le finestre.
Un nuovo modulo, il GEM AES (Application Environment Services), forniva la gestione delle finestre ed i widget dell'interfaccia mentre il GEM Desktop, usando entrambe le librerie, forniva la GUI. La versione 8086 del sistema completo fu mostrata in anteprima al COMDEX del 1984.[1] e venduta come GEM/1 dal 28 febbraio 1985.
Versioni recenti
Caldera Thin Clients, nota in seguito come Lineo (una società del gruppo ora noto come SCO Group) ha rilasciato il sorgente del GEM sotto licenza GNU GPL nell'aprile del 1999. Lo sviluppo del GEM per PC è continuato come OpenGEM e FreeGEM. In seguito è stato anche portato nuovamente sull'Atari ST per essere usato sul clone libero del TOS, l'EmuTOS.
Alcune immagini originali:
Descrizione
Il GEM "completo" consisteva di 3 parti principali:
1. GEM VDI (Virtual Device Interface)
2. GEM AES (Application Environment Services)
3. GEM Desktop (un'applicazione che offriva un gestore di file con supporto al drag-and-drop)
Il VDI era il cuore del sistema grafico di tutto il motore GEM: era responsabile per il disegno a "basso livello", vale a dire nella forma di semplici comandi "disegna una linea da qui a qui". Il VDI includeva un insieme di istruzioni per il disegno vettoriale indipendente dalla risoluzione dalle coordinate che erano chiamate dalle applicazioni attraverso una interfaccia estremamente semplice. Il TVDI offriva inoltre informazioni sull'ambiente (stato o contesto), sul colore corrente, sull'ampiezza di una linea, sul dispositivo di output, ecc...
Questi comandi erano esaminati dal GDOS, il cui compito era quello di inviare i comandi al driver appropriato per il rendering richiesto: ad esempio, se un particolare ambiente GEM VDI era connesso allo schermo, le istruzioni VDI erano allora girate al driver dello schermo per l'esecuzione del disegno. Per stampare si poteva semplicemente (in teoria) cambiare semplicemente l'ambiente puntandolo alla stampate, riducendo drasticamente il lavoro dello sviluppatore (anche se poi la stampa doveva essere fatta "a mano" in ogni applicazione). Il GDOS era anche il responsabile del caricamento dei driver e di ogni carattere richiesto quando il GEM si avviava.
Uno dei maggiori vantaggi che il VDI offriva rispetto al Macintosh era il modo in cui i dispositivi multipli ed i contesti venivano gestiti. Nel Mac tali informazioni erano salvate nella memoria all'interno dell'applicazione: questo generava seri problemi quando si cercava di far gestire al Mac il multitasking con prerilascio dato che il livello che gestisce il disegno (QuickDraw) necessitava di avere accesso diretto alla memoria in tutti i programmi.
Nel GEM VDI, invece, tali informazioni erano salvate nel dispositivo stesso, con il GDOS che creava dei "dispositivi virtuali" per ogni contesto, ovvero per ogni finestra. Questo vantaggio rimase comunque molto teorico dato che le versioni multitasking del GEM non furono mai ufficialmente rilasciate.
Il GEM AES forniva il sistema di finestre: gestiva le stesse, lo stile dell'interfaccia ed i widget della GUI. Per motivi prestazioni, molti widget della GUI erano disegnati utilizzando grafiche predisegnate: comparato al Macintosh, l'AES offriva un look molto più spartano e, inoltre, il sistema era offerto con un singolo carattere monospazio.
L'AES svolgeva i suoi compiti chiamando il VDI, ma in genere questi 2 componenti del GEM operavano nelle applicazioni in modi completamente separati: le applicazioni solitamente chiamavano i comandi AES per generare una nuova finestra, ed il resto dell'applicazione usava poi le chiamate VDI per disegnarci dentro.
Il GEM Desktop era uno dei programmi che utilizzava l'AES per fornire un gestore di file ed un lanciatore di applicazioni, l'ambiente "desktop" tradizionale che gli utenti si sarebbero aspettati dal Macintosh. A differenza del Macintosh, però, il GEM Desktop lavorava sopra al DOS (MS-DOS o DR-DOS+ sui PC, GEMDOS sugli Atari): a causa di ciò la visualizzazione era infarcita di elementi propri del DOS, come i percorsi dei file o i metacaratteri.
Dove trovare FreeGEM e OpenGEM
Se volete Informazioni, sorgenti e binari, recatevi presso questo indirizzo:
Immagini delle varie applicazioni contenute nel FreeGEM
Schermata del Desktop su Olivetti M300 |
FreeGEM Desktop |
Commenti
Posta un commento