Article de reference

GEM (environnement de bureau)

GEM ( Graphics Environment Manager ) est un environnement d'exploitation abandonné, développé par Digital Research et sorti en 1985. GEM est principalement connu comme l' interf...

GEM ( Graphics Environment Manager ) est un environnement d'exploitation abandonné, développé par Digital Research et sorti en 1985. GEM est principalement connu comme l' interface graphique native des ordinateurs Atari ST , offrant un bureau WIMP . Il était également disponible pour les compatibles IBM PC et fourni avec certains modèles Amstrad . On le trouvait aussi sur le BBC Master , équipé d'un coprocesseur Intel 80186. GEM sert de base à certains logiciels MS-DOS commerciaux, notamment Ventura Publisher . Il a été porté sur d'autres ordinateurs dépourvus d'interface graphique, mais sans jamais rencontrer le succès escompté. La dernière version commerciale de GEM est sortie en 1988.

Digital Research a ensuite produit X/GEM pour son système d'exploitation temps réel FlexOS avec des adaptations pour OS/2 Presentation Manager et le système X Window en préparation également.

Histoire

GSX

Diagramme de flux de travail GSX et CBASIC
Publicité GSX en 1982

Fin 1984, GEM vit le jour au DRI, dérivé d'une bibliothèque graphique plus généraliste appelée GSX (Graphics System Extension) , développée par une équipe dirigée par Don Heiskell depuis environ 1982 Lee Jay Lorenzen (de Graphic Software Systems), récemment parti de Xerox (berceau des interfaces graphiques modernes), écrivit une grande partie du code. GSX était essentiellement une implémentation spécifique au DRI de la norme graphique GKS proposée à la fin des années 1970. GSX visait à permettre au DRI de développer des programmes graphiques (création de cartes, etc.) pour toutes les plateformes 8 et 16 bits sur lesquelles fonctionnaient CP/M-80 , Concurrent CP/M , CP/M-86 et MS-DOS ( NEC APC-III ) , une tâche qui aurait autrement nécessité un effort considérable de portage en raison des grandes différences de matériel (et de concepts) graphiques entre les différents systèmes de l'époque

GSX se composait de deux parties : un ensemble de routines pour les opérations de dessin courantes et les pilotes de périphériques chargés de gérer l’affichage. La première était appelée GDOS (Graphics Device Operating System) et la seconde GIOS (Graphics Input/Output System) , un jeu de mots avec la division de CP/M en BDOS (Basic Disk Operating System), indépendant de la machine, et BIOS (Basic Input/Output System), spécifique à la machine . GDOS était un ensemble de routines gérant le dessin GKS, tandis que GIOS utilisait le matériel sous-jacent pour produire l’affichage

Pilotes de périphériques 8 bits connus

Pilotes de périphériques 16 bits connus

La version MS-DOS de GSX prend en charge le chargement des pilotes au format CMD CP/M-86 . Par conséquent, le même fichier binaire de pilote peut fonctionner à la fois sous CP/M-86 et sous DOS.

GEMME

versions Intel

La version 16 bits de GSX 1.3 a donné naissance à l'un des composants de ce qui allait devenir GEM , un projet visant à créer un système d'interface graphique complet en s'appuyant sur les travaux antérieurs menés sur GSX. Initialement nommé Crystal , en référence à un projet IBM appelé Glass , son nom a ensuite été changé en GEM .

Sous GEM, GSX est devenu GEM VDI (Virtual Device Interface), responsable des graphismes et du dessin de base. VDI a également permis la gestion de plusieurs polices et a ajouté une sélection de commandes de dessin raster aux commandes de dessin vectorielles GKS existantes. VDI a aussi introduit la gestion de plusieurs fenêtres , un ajout essentiel pour une utilisation sous Windows.

Un nouveau module, GEM AES (Application Environment Services), assurait la gestion des fenêtres et les éléments d'interface utilisateur, tandis que GEM Desktop utilisait les deux bibliothèques conjointement pour fournir une interface graphique. La version 8086 du système complet a été présentée officiellement pour la première fois au COMDEX en novembre 1984, faisant suite à une démonstration sur l' ordinateur Acorn Business Computer basé sur le 80286 en septembre 1984, où le logiciel avait été attribué à Acorn, et le système a été commercialisé sous le nom de GEM/1 le 28 février 1985.

GEM/1
GEM 1.1 Bureau fonctionnant en résolution EGA 640×350

GEM Desktop 1.0 est sorti le 28 février 1985. GEM Desktop 1.1 est sorti le 10 avril 1985 avec la prise en charge des écrans CGA et EGA . Une version pour les ordinateurs Apricot Computers série F, prenant en charge une résolution de 640×200 pixels jusqu'à 8 couleurs, était également disponible sous le nom de GEM Desktop 1.2 .

Digital Research a également positionné Concurrent DOS 4.1 avec GEM comme une alternative à TopView d' IBM .

DRI avait initialement conçu GEM pour DOS afin qu'il ne détecte et ne s'exécute que sur les ordinateurs IBM, et non sur les PC compatibles comme ceux de Compaq , car l'entreprise espérait percevoir des droits de licence auprès des fabricants de PC compatibles. Les développeurs ont réagi par ce que BYTE a décrit comme une véritable « petite explosion » ; lors d'un séminaire organisé par DRI en février 1985, plus de la moitié des participants ont estimé que l'incompatibilité de GEM avec Compaq constituait une limitation majeure. L'entreprise a levé cette restriction plus tard dans le mois. Parmi les applications compatibles avec GEM, on peut citer GEM Write de Lifetree Software .

À ce stade, Apple Computer a intenté un procès à DRI , donnant lieu à un long différend concernant l'interface utilisateur du système GEM/1, copie quasi conforme du Macintosh (certains éléments ressemblant davantage à ceux du Lisa , commercialisé depuis janvier 1983). Ce procès a finalement contraint DRI à modifier plusieurs fonctionnalités essentielles du système. (Voir aussi : Apple c. Digital Research .) Apple a par la suite intenté des procès à d'autres entreprises pour des motifs similaires, notamment contre Microsoft et HP pour de droits .

En plus des imprimantes, le système contenait également des pilotes pour des périphériques plus inhabituels tels que la Polaroid Palette .

GEM/2
GEM 2.0 affiche sa boîte de dialogue Informations du bureau. Cette version de GEM prend en charge la résolution VGA 640×480 16 couleurs.

DRI a répliqué avec GEM Desktop 2.0 , une version « adaptée aux poursuites judiciaires » sortie le 24 mars 1986, qui a finalement intégré la prise en charge du VGA après sa sortie en 1987. Cette version permettait l'affichage de seulement deux fenêtres fixes sur le « bureau » (bien que d'autres programmes puissent s'y conformer), modifiait l'icône de la corbeille et supprimait les animations d'ouverture et de fermeture des fenêtres. Elle était par ailleurs similaire à GEM/1, mais comprenait également plusieurs corrections de bogues et améliorations esthétiques.

En 1988, Stewart Alsop II a déclaré que GEM faisait partie des nombreuses interfaces graphiques qui « ont déjà été éliminées » du marché par Apple, IBM/Microsoft et d'autres.

GEM XM

GEM XM avec « GEM Desktop 3.0 » était une version mise à jour de GEM/2 sortie en 1986/1987 pour DOS (y compris DOS Plus ). Elle permettait le basculement entre les tâches et l'exécution simultanée de jusqu'à dix programmes GEM et DOS, avec un transfert des données vers la mémoire étendue (XM) via EMS / EEMS ou vers le disque (y compris les disques RAM , permettant ainsi l'utilisation de la mémoire étendue ). Le copier-coller de données entre les applications était possible grâce à un presse-papiers doté d'une fonction de filtre (fonctionnalité également présente ultérieurement dans TaskMAX sous DR DOS 6.0 ). Digital Research prévoyait de proposer GEM XM en option aux utilisateurs de GEM Draw Plus et via les circuits OEM.

Le code source de GEM XM est désormais disponible gratuitement sous les termes de la licence publique générale GNU .

GEM/3
GEM 3.11 affiche sa boîte de dialogue Informations sur le bureau

La dernière version commerciale fut GEM/3 Desktop , sortie le 3 novembre 1988 qui offrait des performances améliorées et était fournie avec plusieurs applications de base. La commercialisation de GEM cessa avec GEM/3 ; le code source fut ensuite mis à la disposition de plusieurs clients importants de DRI.

Alors que GEM/2 pour PC fournissait encore une API GSX en plus de l'API GEM, GEM/3 ne le faisait plus.

GEM/4 pour CCP Artline

GEM/4 , sorti en 1990, permettait de travailler avec des courbes de Bézier , une fonctionnalité encore rare en dehors de l' univers PostScript . Cette version a été conçue spécifiquement pour Artline 2, un logiciel de dessin de la société allemande CCP Development GmbH .

Le système comprenait également des modifications du système de gestion des polices, ce qui le rendait incompatible avec des logiciels comme Timeworks Publisher .

Artline 1 fonctionnait encore sur GEM 3.1.

GEM/5 pour GST Timeworks Publisher

Une autre version de GEM, appelée GEM/5 a été développée par GST Software Products pour Publisher 2.1 de Timeworks . Elle proposait une interface modernisée avec des boutons 3D et des fonctionnalités telles que le redimensionnement dynamique des polices. Elle intégrait tous les outils standard de GEM 3.1. Cette version était basée sur GEM 3.13, à l'exception de la gestion des courbes de Bézier, reprise de GEM/4.

ViewMAX pour DR-DOS
Capture d'écran du gestionnaire de fichiers ViewMAX avec des couleurs définies par l'utilisateur

GEM Desktop a été initialement commercialisé en 1990 sous le nom de ViewMAX , un logiciel dédié à la gestion de fichiers sous DR-DOS . Dans cette configuration, le système ne pouvait pas exécuter d'autres programmes GEM. De ce fait, plusieurs applications (dont ViewMAX) pouvaient coexister, chacune disposant de sa propre copie statique du système GEM. Ce cas de figure était toutefois rare, car peu de programmes GEM natifs ont été publiés. ViewMAX 2 a été lancé en 1991.

Sous ces formes, GEM a survécu jusqu'à ce que DRI soit racheté par Novell en juin 1991 et que tout le développement de GEM soit annulé.

X/GEM

Parallèlement, DRI travaillait à rendre le système GEM capable d'exécuter plusieurs tâches simultanément. Ce travail a débuté avec X/GEM, basé sur GEM/1, mais cela nécessitait l'utilisation d'un système d'exploitation multitâche basé sur CP/M. DRI a également produit X/GEM pour son système d'exploitation temps réel FlexOS , avec des adaptations pour OS/2 Presentation Manager et le système X Window, alors en préparation.

Éditeur Ventura

Lee Lorenzen quitta DRI peu après la sortie de GEM/1, lorsqu'il devint évident que le développement d'applications n'intéressait guère DRI. Il s'associa alors à deux autres anciens employés de DRI, Don Heiskell et John Meyer, pour fonder Ventura Software . Ils développèrent Ventura Publisher (commercialisé plus tard par Xerox , puis par Corel ), qui devint un logiciel de PAO très populaire pendant un certain temps.

versions Atari

TOS 4.92 ( Atari Falcon ) exécutant HomePage Penguin et Desktop

Le développement de la version 68000 de GEM a débuté en septembre 1984, lorsqu'Atari a dépêché une équipe, baptisée « The Monterey Group », chez Digital Research pour travailler sur le portage de GEM. Initialement, il était prévu d'exécuter GEM sur CP/M-68K , tous deux ayant été portés sur Motorola 68000 par DRI avant la conception pour ST. En réalité, ces portages étaient inutilisables et nécessitaient un développement considérable. Digital Research proposait également GEMDOS (initialement GEM DOS, également appelé « Project Jason »), un système d'exploitation de type DOS destiné à porter GEM sur différentes plateformes matérielles. Il était disponible pour les processeurs 8086 et 68000 et avait été adapté aux systèmes de développement Apple Lisa 2/5 et Motorola VME /10 Atari a décidé en janvier 1985 d'abandonner le code CP/M-68K existant et de porter à la place DRI GEMDOS sur la plateforme Atari ST, en le désignant sous le nom de TOS .

Atari ayant assuré la majeure partie du développement de la version 68000, l'entreprise a bénéficié de droits complets pour la poursuite des développements sans avoir à concéder de licence à DRI. Par conséquent, le procès intenté par Apple à DRI ne s'appliquait pas aux versions Atari de GEM, qui ont pu conserver une interface utilisateur plus proche de celle de Mac.

Au cours des sept années suivantes, de 1985 à 1992, de nouvelles versions de TOS ont été publiées à chaque nouvelle génération de la gamme ST. Les mises à jour incluaient la prise en charge de davantage de couleurs et de résolutions plus élevées pour l'affichage raster, mais restaient globalement similaires à la version originale en termes de compatibilité GKS. En 1992, Atari a lancé TOS 4, ou MultiTOS , en même temps que son dernier système informatique, le Falcon 030. Associé à MiNT , TOS 4 permettait une prise en charge complète du multitâche sous GEM.

Développement continu

Capture d'écran d' OpenGEM 5

Lors du rachat par Caldera des actifs restants de Digital Research auprès de Novell le 23 juillet 1996 il était initialement prévu de relancer les technologies GEM et ViewMAX pour une interface utilisateur légère pour OpenDOS dans les applications mobiles sous le nom de Caldera View . Cependant, Caldera UK abandonna ce projet au profit de DR-WebSpyder et GROW . Caldera Thin Clients (devenu par la suite Lineo ) publia le code source de GEM et GEM XM sous licence GNU GPL-2.0 uniquement en avril 1999 . Le développement de GEM pour PC se poursuit sous les noms de FreeGEM et OpenGEM .

Sur la plateforme Atari ST, les sources DRI originales ont été portées à nouveau pour être utilisées dans EmuTOS, un clone TOS libre et open source . De nouvelles implémentations des portions AES de GEM ont été développées de zéro sous la forme de XaAES et MyAES , toutes deux entièrement réentrantes et prenant en charge le multitâche grâce aux extensions multitâches FreeMiNT de TOS .

Description

Le système GEM « complet » se composait de trois parties principales :

  1. GEM VDI (Interface de périphérique virtuel)
  2. GEM AES (Services d'environnement applicatif)
  3. GEM Desktop (une application permettant la gestion de fichiers par glisser-déposer)

GEM VDI était le système graphique principal du moteur GEM. Il était responsable du dessin de bas niveau, c'est-à-dire du tracé de lignes entre deux points. VDI comprenait un ensemble d'instructions de dessin vectoriel, indépendantes de la résolution et des coordonnées, appelées par les applications via une interface relativement simple. VDI intégrait également des informations d'environnement (état ou contexte), la couleur courante, l'épaisseur des lignes, le périphérique de sortie, etc.

Ces commandes étaient ensuite analysées par GDOS, chargé de les transmettre au pilote approprié pour l'affichage. Par exemple, si un environnement VDI GEM spécifique était connecté à l'écran, les instructions VDI étaient alors acheminées vers le pilote d'affichage pour le rendu. En théorie, il suffisait de modifier l'environnement pour pointer vers l'imprimante afin d'imprimer, ce qui réduisait considérablement la charge de travail des développeurs (qui devaient auparavant effectuer l'impression manuellement dans toutes les applications). GDOS était également responsable du chargement des pilotes et des polices demandées lors du premier lancement de GEM.

L'un des principaux avantages de VDI par rapport à Macintosh résidait dans la gestion des périphériques et contextes multiples. Sur Mac, ces informations étaient stockées en mémoire au sein de l'application. Cela posait de sérieux problèmes pour la gestion du multitâche préemptif, car la couche de dessin ( QuickDraw ) nécessitait un accès direct à la mémoire de tous les programmes. Avec GEM VDI, en revanche, ces informations étaient stockées directement sur le périphérique, GDOS créant des « périphériques virtuels » pour chaque contexte, chaque fenêtre par exemple.

GEM AES fournissait le système de fenêtrage, le gestionnaire de fenêtres, le style d'interface utilisateur et d'autres éléments d'interface graphique (widgets). Pour des raisons de performance, de nombreux widgets étaient en réalité dessinés à l'aide de caractères. Comparé au Macintosh, AES offrait un aspect plutôt spartiate et le système était livré avec une seule police à chasse fixe.

AES effectue ses opérations en appelant le VDI, mais, de manière plus générale, les deux parties de GEM étaient souvent complètement séparées dans les applications. Celles-ci appelaient généralement des commandes AES pour créer une nouvelle fenêtre, le reste de l'application utilisant des appels VDI pour y afficher le contenu.

GEM Desktop était un logiciel d'application utilisant AES pour fournir un gestionnaire de fichiers et un lanceur, l'environnement de bureau traditionnel auquel les utilisateurs étaient habitués sur Macintosh. Contrairement à ce dernier, GEM Desktop fonctionnait sous DOS ( MS-DOS , DOS Plus ou DR-DOS sur PC, GEMDOS/ TOS sur Atari), ce qui expliquait un affichage encombré d'éléments informatiques, tels que les chemins d'accès et les caractères génériques. De manière générale, GEM était bien plus technique que Mac, mais le simple fait de faire tourner un shell fonctionnel sous DOS constituait déjà une prouesse. Par ailleurs, GEM présentait des avantages par rapport à macOS, comme ses curseurs proportionnels.

Les applications PC natives GEM utilisent l'extension de fichier .APP pour les exécutables, tandis que les accessoires de bureau GEM utilisent l'extension .ACC. Tous les accessoires de bureau (ainsi que quelques applications simples) peuvent être exécutés sous ViewMAX sans modification.