Graphics Environment Manager
Le GEM (Graphics Environment Manager) est un environnement de bureau créé par Digital Research, inventeur du système d'exploitation CP/M (précurseur de MS-DOS). Le logo du GEM est une gemme (pierre précieuse) en référence au mot anglais.
Pour les articles homonymes, voir GEM.
Ne doit pas être confondu avec Graphics Execution Manager.
Développé par | Digital Research |
---|---|
Première version | |
Écrit en | C |
Formats lus | GEM Driver Definition (d), GEM Graph (v1.0) (d) et GEM Application (Intel) (d) |
Formats écrits | GEM Driver Definition (d), GEM Graph (v1.0) (d) et GEM Application (Intel) (d) |
Type |
Environnement de bureau Système de fenêtrage |
Licence | Licence publique générale GNU |
Site web | www.deltasoft.com |
Il était disponible sur les plateformes Atari et PC. Sur la plateforme Atari, GEM était intégré au système d'exploitation TOS. Certains PC, notamment les machines fabriquées par Amstrad étaient vendus avec le GEM pré-installé.
Un procès intenté par Apple à Digital Research concernant un brevet sur les environnements graphiques (principalement l'usage de l'icône « poubelle ») obligea à en supprimer tout ce qui avait un équivalent chez Apple, tuant net le produit pour les PC. Microsoft n’avait pas encore commercialisé une version Windows exploitable, mais travaillait en collaboration avec Apple pour le portage de Multiplan-Dos vers Excel-Mac, et se trouva ainsi débarrassé d'un dangereux concurrent.
Atari continua à intégrer ce GEM légalement dégradé à ses machines et le fit évoluer au gré des évolutions techniques de ses produits. Microsoft adopta un profil bas pour ne pas encourir les foudres d'Apple, faisant de Windows jusqu'en 1995 une simple interface de présentation graphique sous un DOS monotâche, et non un OS à part entière.
Après le rachat de Digital Research par Caldera, le code source du GEM a été distribué sous les termes de la licence GPL[1]. Cette libération du code source a permis l'émergence de projets de logiciels libres dérivés (voir FreeGEM).
Histoire
GSX
GEM a commencé sa vie à DRI comme une bibliothèque générale à usage graphique connu sous le nom GSX
GSX est composée de deux parties: une sélection de routines de dessin indépendants du matériel, et les pilotes de périphériques destinés à l'affichage. Le premier était GDOS et le second GIOS. GDOS est une couche d'abstraction matériel de dessin, GIOS reproduisant ces dessin sur du matériel (carte graphiques, traceurs, imprimantes, pellicules photo)
Versions d'Intel
GSX a évolué pour devenir l'interface graphique GEM.
Sous GEM, GSX devient GEM VDI (Virtual Device Interface), responsable des graphismes de base et des primitives de dessin. VDI a également ajouté la possibilité de travailler avec plusieurs polices de caractères et un système de menus et de fenêtres.
Un nouveau module, GEM AES (Application Environment Services), a fourni les éléments de gestion de fenêtre et d'interface utilisateur, et GEM Desktop a utilisé les deux bibliothèques en combinaison pour fournir une interface graphique. La version 8086 de l'ensemble du système a été présentée pour la première fois au COMDEX de 1984.
GEM 1.1 Bureau fonctionnant en résolution 640 × 350 EGA
GEM Desktop 1.0 est sorti le . GEM Desktop 1.1 a été libéré en , avec le soutien des affichages de CGA et d'EGA. Une version pour la série F d' Apricot Computers , soutenant 640 × 200 dans jusqu'à 8 couleurs était également disponible en tant que GEM Desktop 1.2 . [8]
GEM/2
GEM 2.0 affiche sa boîte de dialogue Infos sur le bureau. Cette version de GEM prend en charge 640 * 480 16 couleurs VGA.
GEM/2 est publié en , avec un support pour les écrans VGA. Il était similaire à GEM/1, sans la poubelle et les animations graphiques, mais incluait également un certain nombre de corrections de bugs et d'améliorations cosmétiques.
GEM / 3
GEM 3.11 affichant sa boîte de dialogue Infos sur le bureau
La dernière version commerciale était GEM/3 Desktop, publiée en , qui était livrée avec un certain nombre d'applications de base. Les ventes commerciales de GEM ont pris fin avec GEM/3; le code source a ensuite été mis à la disposition d'un certain nombre de clients leaders de DRI.
Versions personnalisées
GEM/4 , sorti en 1990, incluait la possibilité de travailler avec les courbes de Bézier, une fonctionnalité encore rare en dehors du monde PostScript. Cette version a été produite spécifiquement pour Artline, un programme de dessin de la société allemande CCP Development GmbH.Le système a également inclus des modifications au système de gestion des polices, ce qui l'a rendu incompatible avec Timeworks Publisher.
Une autre version de GEM appelée GEM/5 , publiée en 1988, a été produite par GST pour Timeworks Publisher 2.1. Il contenait un look mis à jour avec des boutons 3D. La mise à l'échelle des polices à la volée était incluse. Il est livré complet avec tous les outils standard de GEM 3.1. Cette version a été produite à partir de GEM 3.13 avec seulement la manipulation des courbes de Bézier empruntée à GEM/4.
ViewMAX
Article principal: ViewMAX Capture d'écran du gestionnaire de fichiers ViewMAX avec des couleurs définies par l'utilisateur
ViewMax a été créé en 1990 à partir de GEM Desktop et utilisé uniquement comme un shell de gestion de fichiers sous DR-DOS, le programme ne peut pas exécuter d'autres programmes GEM.
En 1991, ViewMAX/2 est sorti.
GEM multitâche
Au cours de cette période, DRI travaillait également à rendre le système GEM capable de multitâche. Cela a commencé avec X/GEM basé sur GEM/1, mais cela nécessitait l'utilisation de l'un des systèmes d'exploitation multitâche CP/M. GEM/XM était une version mise à jour de GEM/2 qui permettait le multitâche et la possibilité d'exécuter des programmes DOS dans des fenêtres shell (comme le fait Windows aujourd'hui). Aucun d'entre eux n'a vu le jour, mais le code source GEM/XM est maintenant disponible gratuitement sous les termes de la licence publique générale GNU.
Versions Atari
TOS 4,92 ( Atari Falcon ) exécutant HomePage Penguin et Desktop. Article principal: Atari TOS
Développement de la production La version 68000 de GEM a commencé en , quand Atari a envoyé une équipe appelée "The Monterey Group" à Digital Research pour commencer à travailler sur le portage de GEM. À l'origine, le plan consistait à faire fonctionner GEM en plus de CP / M-68K , tous deux portés ostensiblement sur Motorola 68000 par DRI avant la création de la conception ST. En fait, ces ports étaient inutilisables et nécessiteraient un développement considérable. Atari a finalement décidé d'abandonner le code existant et le port GEMDOS, un système d'exploitation de type DOS que DRI avait expérimenté à la place, en le qualifiant de TOS . [17]
Comme Atari avait fourni la majeure partie du développement de la version 68k, ils ont eu tous les droits sur les développements continus sans avoir besoin de rétrocéder la licence à DRI, qui avait apparemment perdu tout intérêt pour la plate-forme 68000. En conséquence, la poursuite Apple-DRI ne s'appliquait pas aux versions Atari de GEM, et ils ont été autorisés à conserver une interface utilisateur plus semblable à Mac.
Au cours des sept années suivantes, de 1985 à 1992, de nouvelles versions de TOS ont été publiées avec chaque nouvelle génération de la ligne ST. Les mises à jour incluaient la prise en charge de plus de couleurs et de résolutions plus élevées du côté raster du système, mais restaient généralement similaires à l'original en termes de prise en charge de GKS. En 1992, Atari a sorti le TOS 4 avec son système informatique final, le Falcon030, accompagné de la toute première - et unique - version du système MultiTOS sur disquettes. Celui-ci, installable sur disque dur, combine le noyau MiNT et l'AES 4.0 qui ont permis un support multitâche complet dans GEM.
Développement des versions GPL
Caldera Thin Clients (plus tard connu sous le nom Lineo ) a publié le code source de GEM sous les termes de la licence publique générale GNU (GPL) en . [18] Le développement de GEM pour PC se poursuit sous OpenGEM et FreeGEM .
Sur la plate-forme Atari ST, les sources DRI originales ont été portées à nouveau pour être utilisées dans le clone TOS gratuit et open source EmuTOS . De nouvelles implémentations des parties AES de GEM ont été mises en œuvre à partir de zéro sous la forme de XaAES et de MyAES , toutes deux entièrement réentrantes et prenant en charge le multitâche en plus des extensions multitâches FreeMiNT de TOS . Description
Le système GEM "complet" se composait de trois parties principales:
- GEM VDI (interface de périphérique virtuelle)
- GEM AES (Services d'environnement d'application)
- GEM Desktop (une application permettant la gestion de fichiers par glisser-déposer)
GEM VDI était le système graphique de base du moteur global GEM. Il était responsable du dessin de "bas niveau" sous la forme de "tirer la ligne d'ici à ici". VDI a inclus une résolution et coordonne un ensemble indépendant d'instructions de dessin vectoriel qui ont été appelées à partir d'applications via une interface assez simple. TVDI comprenait également des informations sur l'environnement (état ou contexte), la couleur actuelle, l'épaisseur de la ligne, le périphérique de sortie, etc.
Ces commandes ont ensuite été examinées par GDOS, dont la tâche consistait à envoyer les commandes au bon pilote pour un rendu réel. Par exemple, si un environnement VDI GEM particulier était connecté à l'écran, les instructions VDI étaient ensuite acheminées vers le pilote d'écran pour le dessin. Simplement changer l'environnement pour pointer vers l'imprimante était tout ce qui était nécessaire (en théorie) pour imprimer, réduisant considérablement la charge de travail du développeur (ils devaient auparavant faire l'impression «à la main» dans toutes les applications). GDOS était également responsable du chargement des pilotes et des polices demandées lors du premier chargement de GEM.
L'un des principaux avantages offerts par VDI sur Macintosh était la façon dont plusieurs périphériques et contextes étaient gérés. Dans le Mac, ces informations étaient stockées dans la mémoire de l'application. Cela a provoqué de graves problèmes lors de la tentative de rendre le Mac gérer le multitâche préemptif, car la couche de dessin ( QuickDraw ) devait avoir un accès direct à la mémoire dans tous les programmes. Dans GEM VDI cependant, ces informations étaient stockées dans l'appareil lui-même, GDOS créant des "périphériques virtuels" pour chaque contexte - chaque fenêtre par exemple.
GEM AES a fourni le système de fenêtres, le gestionnaire de fenêtres, le style d'interface utilisateur et d'autres éléments graphiques (widgets). Pour des raisons de performances, de nombreux widgets d'interface graphique ont été réellement dessinés à l'aide de graphiques de caractères. Comparé au Macintosh, AES a fourni un look plutôt spartiate et le système livré avec une seule police à espacement fixe.
AES effectue ses opérations en appelant le VDI, mais dans un sens plus général les deux parties de GEM étaient souvent complètement séparées dans les applications. Les applications sont généralement appelées commandes AES pour configurer une nouvelle fenêtre, le reste de l'application utilisant les appels VDI pour dessiner dans cette fenêtre.
GEM Desktop était un programme d'application qui utilisait AES pour fournir un gestionnaire de fichiers et un lanceur, l'environnement de bureau traditionnel que les utilisateurs attendaient du Macintosh. Contrairement au Macintosh, le bureau GEM était basé sur DOS ( MS-DOS , DOS Plus ou DR DOS sur le PC, GEMDOS sur l'Atari), et par conséquent l'affichage réel était encombré d'éléments de type ordinateur, y compris les noms de chemins. et des caractères génériques. En général, GEM était beaucoup plus «geek» que le Mac, mais il suffisait de lancer un shell utilisable sous DOS. Sinon, GEM a ses propres avantages sur Mac OS tels que les curseurs proportionnels.
Fonctionnement
Les éléments de base
GEM se compose initialement de deux bibliothèques de fonctions et d'un « bureau GEM » :
- VDI (Virtual Device Interface), qui sert de couche d'abstraction matérielle pour tout ce qui a trait à l'affichage.
- AES (Application Environment Services), qui prend en charge le dessin des éléments de l'interface graphique et la gestion de l'interaction avec l'utilisateur (fenêtres, boîtes de dialogues, champs de formulaires, évènements utilisateur, etc.)
- Le Bureau GEM est un programme qui sert d'interface graphique pour la manipulation des fichiers. C'est l'équivalent du Finder des ordinateurs produits par Apple.
GDOS/SpeedoGDOS
Une troisième bibliothèque a ensuite été ajoutée : GDOS (Graphical Device Operating System). Cette bibliothèque est chargée depuis une disquette ou le disque dur au démarrage, et permet l'utilisation de plusieurs polices de caractères, le support de hautes résolutions et introduisait les métafichiers, un format de fichiers décrivant le dessin d'une page. Puis Atari s'est procuré auprès de la société Bitstream sa technologie de fonte vectorielle baptisée Speedo, et les versions de GDOS intégrant cette technologie ont été appelées SpeedoGDOS.
Par la suite, des réimplémentations de la bibliothèque VDI comme NVDI ont intégré les fonctionnalités de SpeedoGDOS.
Versions
Du temps de sa commercialisation, les versions Atari et PC ont évolué indépendamment l'une de l'autre. Par la suite, la publication du code source et l'arrêt de la production d'ordinateur par Atari ont permis l'émergence de versions open source.
Atari
Sur les ordinateurs Atari, le GEM fait partie du système d'exploitation installé en mémoire morte, le TOS, et évolue donc de concert avec lui.
En revanche GDOS n'étant pas embarqué dans les ordinateurs, celui-ci a connu différentes versions :
- GDOS
- AMC-GDOS
- Font-GDOS
- FSM-GDOS
- SpeedoGDOS (4.x)
Composants commerciaux
Certains composants de substitution ont été redéveloppés par des éditeurs de logiciel.
- VDI
- NVDI par Behne & Behne
- AES
- N.AES par woller systeme
- GDOS
- G-Plus par Codehead, SpeedoGDOS 5.x par Compo Software
Versions open source
Les composants du GEM (VDI, AES, bureau) ont été réimplémentés par différents projets :
- VDI
- fVDI
- AES
- XaAES, MyAES
- Bureau
- Thing, TeraDesk
Types de fichiers liés à GEM
Fichiers de données
Les extensions de noms de fichiers suivantes indiquent des contenus utilisables par le GEM.
- .RSC
- fichier de ressource d'une application, contenant la description des interfaces. On avait ainsi une séparation du traitement et de l'interface, ce qui facilite par exemple la localisation des programmes.
- .IMG
- fichier image bitmap
- .GEM
- métafichier, fichier de dessin vectoriel GDOS
- .FNT
- fichier de police de caractères GDOS
Fichiers exécutables
Les extensions de noms de fichiers suivantes indiquent que les fichiers sont des programmes.
- .TOS
- programme n'utilisant pas GEM (sur plateforme Atari)
- .TTP
- programme n'utilisant pas GEM, prenant des paramètres en entrée (acronyme de "TOS Takes Parameters"), sur plateforme Atari
- .APP
- programme utilisant GEM (plateformes PC et Atari)
- .PRG
- programme utilisant GEM (plateforme Atari)
- .GTP
- programme utilisant GEM, avec des paramètres (acronyme de "GEM Takes Parameters"), sur plateforme Atari
La mention avec des paramètres signifie qu'avant le lancement du programme, une boîte de dialogue apparaît pour permettre la saisie de ces paramètres. Ce fonctionnement pallie l'absence d'un interpréteur de commandes.
Applications GEM
- GEM desktop
- GEM outpout
- GEM draw
- GEM paint
- GEM write
- GEM graph
Voir aussi
Références
- (en) « Gem, the GUI that beat Windows to market, goes open source », sur The Register,
Articles connexes
- Atari
- Atari ST
- Amstrad
- Amstrad PC-1512
- OpenGEM
- FreeGEM
- Digital Research
- FreeDOS - DOS libre pour laquelle GEM est conçue
- DOSBox - Émulateur DOS
Liens externes
- (en) GEM, un site consacré à PC-GEM.
- (en) Intel GEM, site contenant de nombreuses informations sur le GEM (version Intel) : documentations, logiciels, etc.
- (en) INFO : GDOS, un descriptif complet de GDOS.
- (en) Frequently Asked Questions About Fonts - Atari File Formats, cette section d'une foire aux questions évoque les différentes versions de GDOS.
- (de) woller systeme, le site de NAES.
- (de) 2B Home, le site de NVDI.
- (en) opengem-sdk
- Portail de l’informatique
- Portail des logiciels libres