GEM (por Graphics Environment Manager [2] ) es un entorno operativo descontinuado lanzado por Digital Research en 1985. GEM es conocido principalmente como la interfaz gráfica de usuario nativa de la serie de computadoras Atari ST , que proporciona un escritorio WIMP . También estaba disponible para IBM PC compatibles [3] [4] y se enviaba con algunos modelos de Amstrad . GEM se usa como núcleo para algunos programas comerciales de MS-DOS, el más notable es Ventura Publisher . Fue portado a otras computadoras que anteriormente carecían de interfaces gráficas, pero nunca ganó tracción. La versión minorista final de GEM fue lanzada en 1988.
Posteriormente, Digital Research produjo X/GEM para su sistema operativo en tiempo real FlexOS [3] [5] con adaptaciones para OS/2 Presentation Manager [6] [3] y el X Window System en preparación también. [3]
A finales de 1984, GEM comenzó a funcionar en DRI como una consecuencia de una biblioteca de gráficos de propósito más general conocida como GSX (Graphics System Extension), [7] escrita por un equipo dirigido por Don Heiskell desde aproximadamente 1982. [8] Lee Jay Lorenzen (en Graphic Software Systems), que había dejado recientemente Xerox PARC (la cuna de la GUI moderna), escribió gran parte del código. GSX era esencialmente una implementación específica de DRI del estándar de gráficos GKS propuesto a finales de los años 70. GSX tenía como objetivo permitir a DRI escribir programas de gráficos (gráficos, etc.) para cualquiera de las plataformas de 8 y 16 bits en las que se ejecutarían CP/M-80 , Concurrent CP/M , CP/M-86 y MS-DOS ( NEC APC-III ), [9] una tarea que de otro modo habría requerido un esfuerzo considerable para ser trasladada debido a las grandes diferencias en el hardware de gráficos (y conceptos) entre los diversos sistemas de esa época. [7]
GSX constaba de dos partes: una selección de rutinas para operaciones de dibujo comunes y los controladores de dispositivos responsables de manejar la salida real. El primero se conocía como GDOS (Graphics Device Operating System) y el segundo como GIOS (Graphics Input/Output System), [10] un juego de palabras con la división de CP/M en BDOS (Basic Disk Operating System) independiente de la máquina y BIOS (Basic Input/Output System) específico de la máquina . [7] GDOS era una selección de rutinas que manejaban el dibujo GKS, mientras que GIOS en realidad usaba el hardware subyacente para producir la salida. [7]
La versión DOS de GSX permite cargar controladores en el formato CMD de CP/M-86 . Por lo tanto, el mismo binario de controlador puede funcionar tanto en CP/M-86 como en DOS. [14]
La versión de 16 bits de GSX 1.3 [7] [9] evolucionó hasta convertirse en una parte de lo que más tarde se conocería como GEM , que fue un esfuerzo por construir un sistema de interfaz gráfica de usuario completo utilizando el trabajo anterior de GSX como base. Originalmente conocido como Crystal como un juego de palabras con un proyecto de IBM llamado Glass , el nombre se cambió más tarde a GEM .
Bajo GEM, GSX se convirtió en GEM VDI (Virtual Device Interface), responsable de los gráficos y dibujos básicos. [10] VDI también agregó la capacidad de trabajar con múltiples fuentes y agregó una selección de comandos de dibujo raster a los comandos de dibujo GKS, que anteriormente solo estaban basados en vectores . VDI también agregó múltiples ventanas gráficas , una adición clave para usar con ventanas. [15]
Un nuevo módulo, GEM AES (Application Environment Services), proporcionaba la gestión de ventanas y los elementos de la interfaz de usuario, y GEM Desktop utilizaba ambas bibliotecas en combinación para proporcionar una interfaz gráfica de usuario. [16] La versión 8086 de todo el sistema se demostró oficialmente por primera vez en COMDEX en noviembre de 1984, [4] [3] después de una demostración en el Acorn Business Computer basado en 80286 en septiembre de 1984 donde el software se había atribuido a Acorn, [17] y el sistema se envió como GEM/1 el 28 de febrero de 1985. [1]
GEM Desktop 1.0 se lanzó el 28 de febrero de 1985. [1] GEM Desktop 1.1 se lanzó el 10 de abril de 1985 con soporte para pantallas CGA y EGA . [18] [19] Una versión para la serie F de Apricot Computers , que admitía 640 × 200 en hasta 8 colores, también estaba disponible como GEM Desktop 1.2 . [20]
Digital Research también posicionó Concurrent DOS 4.1 con GEM como alternativa para TopView de IBM . [21]
DRI diseñó originalmente GEM para DOS de modo que buscara y se ejecutara únicamente en computadoras IBM, y no en las compatibles con PC como las de Compaq , ya que la compañía esperaba recibir tarifas de licencia de los fabricantes de sistemas compatibles. Los desarrolladores reaccionaron con lo que BYTE describió como "una pequeña explosión"; informó que en un seminario organizado por DRI en febrero de 1985, más de la mitad de los asistentes estuvieron de acuerdo en que la incompatibilidad de GEM con Compaq era una limitación grave. Más tarde ese mes, la compañía eliminó la restricción. [22] Las aplicaciones que admitían GEM incluían GEM Write de Lifetree Software . [23]
En este punto, Apple Computer demandó a DRI [24] [ ¿fuente poco fiable? ] en lo que se convertiría en una larga disputa sobre el "aspecto y el funcionamiento" del sistema GEM/1, que era una copia casi directa de Macintosh (con algunos elementos que se parecían más a los del anterior Lisa , disponible desde enero de 1983). Esto finalmente llevó a que DRI se viera obligado a cambiar varias características básicas del sistema. [25] [26] [27] [28] [24] (Véase también: Apple v. Digital Research .) Más tarde, Apple demandaría a otras empresas por cuestiones similares, incluida su demanda por derechos de autor contra Microsoft y HP .
Además de las impresoras, el sistema también contenía controladores para algunos dispositivos más inusuales, como la Polaroid Palette . [13]
DRI respondió con GEM Desktop 2.0 , una versión "amigable con los litigios" , lanzada el 24 de marzo de 1986, que finalmente agregó soporte para VGA , en algún momento después de su lanzamiento en 1987. [29] Permitió la visualización de solo dos ventanas fijas en el "escritorio" (aunque otros programas podían hacer lo que quisieran), cambió el ícono de la papelera y eliminó las animaciones para cosas como abrir y cerrar ventanas. Por lo demás, era similar a GEM/1, pero también incluía una serie de correcciones de errores y mejoras cosméticas.
En 1988, Stewart Alsop II dijo que GEM estaba entre varias GUI que "ya habían sido eliminadas" del mercado por Apple, IBM/Microsoft y otros. [30]
GEM XM con "GEM Desktop 3.0" fue una versión actualizada de GEM/2 en 1986/1987 para DOS (incluyendo DOS Plus ) que permitía cambiar de tareas y ejecutar hasta diez programas GEM y DOS a la vez, intercambiando a memoria expandida (XM) a través de EMS / EEMS o a disco (incluyendo discos RAM , permitiendo también el uso de memoria extendida ). [31] [32] [33] [34] Los datos se podían copiar y pegar entre aplicaciones a través de un portapapeles con función de filtro (una característica que luego también se encontró en TaskMAX bajo DR DOS 6.0 ). [32] Digital Research planeó ofrecer GEM XM como una opción para los usuarios de GEM Draw Plus y a través de canales OEM. [31]
El código fuente de GEM XM ahora está disponible gratuitamente bajo los términos de la Licencia Pública General GNU .
El último lanzamiento comercial fue GEM/3 Desktop , lanzado el 3 de noviembre de 1988, [35] que tenía mejoras de velocidad y se entregaba con una serie de aplicaciones básicas. Las ventas comerciales de GEM finalizaron con GEM/3; el código fuente se puso posteriormente a disposición de varios de los principales clientes de DRI.
Si bien GEM/2 para PC todavía proporcionaba una API GSX además de la API GEM, GEM/3 ya no lo hacía. [10]
GEM/4 , lanzado en 1990, incluía la capacidad de trabajar con curvas de Bézier , una característica que todavía no se encuentra comúnmente fuera del mundo PostScript . [ cita requerida ] Esta versión fue producida específicamente para Artline 2, un programa de dibujo de la empresa alemana CCP Development GmbH. [36] [37] [38] [39] [40] [41] [42]
El sistema también incluyó cambios en el sistema de gestión de fuentes, lo que lo hizo incompatible con sistemas como Timeworks Publisher .
Artline 1 todavía se ejecutaba en GEM 3.1. [39]
GST Software Products produjo otra versión de GEM llamada GEM/5 [43] para Timeworks ' Publisher 2.1. Contenía un aspecto actualizado con botones 3D, junto con funciones como escala de fuentes sobre la marcha. Venía completa con todas las herramientas estándar de GEM 3.1. Esta versión se produjo a partir de GEM 3.13 con solo el manejo de Bézier tomado de GEM/4.
GEM Desktop se escindió en 1990 como un producto conocido como ViewMAX que se utilizaba únicamente como un shell de gestión de archivos bajo DR DOS . De esta forma, el sistema no podía ejecutar otros programas GEM. Esto llevó a una situación en la que varias aplicaciones (incluida ViewMAX) podían existir todas con su propia copia enlazada estáticamente del sistema GEM. Este escenario era realmente poco común, ya que se publicaron pocos programas GEM nativos. En 1991, se lanzó ViewMAX 2 .
En estas formas, GEM sobrevivió hasta que Novell compró DRI en junio de 1991 [44] [45] y se canceló todo el desarrollo de GEM.
Durante todo este tiempo, DRI también había estado trabajando para que el sistema GEM fuera capaz de realizar múltiples tareas. Esto comenzó con X/GEM basado en GEM/1, pero esto requería el uso de uno de los sistemas operativos multitarea basados en CP/M. [ Aclaración necesaria ] DRI también produjo X/GEM para su sistema operativo en tiempo real FlexOS [3] [5] con adaptaciones para OS/2 Presentation Manager [6] [3] y el X Window System en preparación también. [3]
Lee Lorenzen se fue poco después del lanzamiento de GEM/1, cuando quedó claro que DRI no tenía un gran interés en el desarrollo de aplicaciones. Luego se unió a otros dos ex empleados de DRI, Don Heiskell y John Meyer, para fundar Ventura Software . Desarrollaron Ventura Publisher (que luego fue comercializado por Xerox y, finalmente, por Corel ), que se convertiría en un programa de autoedición muy popular durante algún tiempo.
El desarrollo de la versión de producción 68000 de GEM comenzó en septiembre de 1984, cuando Atari envió un equipo llamado "The Monterey Group" a Digital Research para comenzar a trabajar en la adaptación de GEM. Originalmente, el plan era ejecutar GEM sobre CP/M-68K , ambos aparentemente adaptados a Motorola 68000 por DRI antes de que se creara el diseño ST. De hecho, estos puertos eran inutilizables y requerirían un desarrollo considerable. Digital Research también ofreció GEMDOS (originalmente escrito como GEM DOS, también se lo llamó "Project Jason"), un sistema operativo similar a DOS destinado a adaptar GEM a diferentes plataformas de hardware. Estaba disponible para procesadores 8086 y 68000 y había sido adaptado al sistema de desarrollo Apple Lisa 2/5 y Motorola VME /10 [46] . [47] Atari decidió en enero de 1985 [48] renunciar al código CP/M-68K existente y en su lugar portar DRI GEMDOS a la plataforma Atari ST, refiriéndose a ella como TOS . [49]
Como Atari había proporcionado la mayor parte del desarrollo de la versión 68000, se les otorgaron todos los derechos para continuar con los desarrollos sin necesidad de volver a otorgarle la licencia a DRI. Como resultado, la demanda Apple-DRI no se aplicó a las versiones Atari de GEM y se les permitió mantener una interfaz de usuario más parecida a la de Mac.
Durante los siguientes siete años, de 1985 a 1992, se lanzaron nuevas versiones de TOS con cada nueva generación de la línea ST. Las actualizaciones incluían compatibilidad con más colores y resoluciones más altas en el lado raster del sistema, pero en general se mantuvieron similares al original en términos de compatibilidad con GKS. En 1992, Atari lanzó TOS 4, o MultiTOS , junto con su sistema informático final, el Falcon030 . En combinación con MiNT , TOS 4 permitió compatibilidad total con multitarea en GEM.
Cuando Caldera compró los activos restantes de Digital Research de Novell el 23 de julio de 1996, [50] los planes iniciales eran revivir las tecnologías GEM y ViewMAX para una interfaz de usuario de bajo consumo para OpenDOS en aplicaciones móviles [51] [52] como Caldera View , pero estos planes fueron abandonados por Caldera UK en favor de DR-WebSpyder y GROW . Caldera Thin Clients (más tarde conocido como Lineo ) lanzó el código fuente de GEM y GEM XM bajo los términos de GNU GPL-2.0-only en abril de 1999. [52] El desarrollo de GEM para PC continúa como FreeGEM y OpenGEM .
En la plataforma Atari ST, las fuentes originales de DRI fueron trasladadas nuevamente para ser utilizadas en el clon de TOS de código abierto y gratuito EmuTOS . Se han implementado nuevas implementaciones de las partes AES de GEM desde cero en forma de XaAES y MyAES, [53] las cuales son completamente reentrantes y admiten multitarea sobre las extensiones multitarea FreeMiNT para TOS .
El sistema GEM "completo" constaba de tres partes principales:
GEM VDI era el sistema gráfico principal del motor GEM en general. Era responsable del dibujo de "bajo nivel" en forma de "trazar una línea desde aquí hasta aquí". VDI incluía un conjunto de instrucciones de dibujo vectorial independientes de la resolución y las coordenadas que se llamaban desde las aplicaciones a través de una interfaz bastante simple. VDI también incluía información del entorno (estado o contexto), color actual, grosor de línea, dispositivo de salida, etc.
Estos comandos eran examinados por GDOS, cuya tarea era enviar los comandos al controlador adecuado para la representación real. Por ejemplo, si un entorno VDI de GEM en particular estaba conectado a la pantalla, las instrucciones VDI se enviaban al controlador de pantalla para dibujar. Simplemente cambiar el entorno para que apuntara a la impresora era todo lo que se necesitaba (en teoría) para imprimir, lo que reducía drásticamente la carga de trabajo del desarrollador (antes tenían que imprimir "a mano" en todas las aplicaciones). GDOS también era responsable de cargar los controladores y las fuentes solicitadas cuando se cargaba GEM por primera vez.
Una de las principales ventajas que ofrecía VDI sobre Macintosh era la forma en que se manejaban múltiples dispositivos y contextos. En Mac, dicha información se almacenaba en la memoria dentro de la aplicación. Esto generaba serios problemas al intentar hacer que Mac manejara la multitarea preventiva, ya que la capa de dibujo ( QuickDraw ) necesitaba tener acceso directo a la memoria de todos los programas. Sin embargo, en GEM VDI, dicha información se almacenaba en el propio dispositivo, y GDOS creaba "dispositivos virtuales" para cada contexto (por ejemplo, cada ventana).
GEM AES proporcionó el sistema de ventanas, el administrador de ventanas, el estilo de la interfaz de usuario y otros elementos de la interfaz gráfica de usuario (widgets). Por razones de rendimiento, muchos de los widgets de la interfaz gráfica de usuario se diseñaron utilizando gráficos de caracteres. En comparación con Macintosh, AES proporcionó un aspecto bastante espartano y el sistema se entregó con una única fuente monoespaciada.
AES realiza sus operaciones llamando a VDI, pero en un sentido más general, las dos partes de GEM solían estar completamente separadas en las aplicaciones. Las aplicaciones normalmente llamaban a los comandos AES para configurar una nueva ventana, mientras que el resto de la aplicación usaba llamadas VDI para dibujar en esa ventana.
GEM Desktop era un programa de aplicación que utilizaba AES para proporcionar un gestor de archivos y un lanzador, el entorno de "escritorio" tradicional que los usuarios esperaban de Macintosh. A diferencia de Macintosh, GEM Desktop se ejecutaba sobre DOS ( MS-DOS , DOS Plus o DR DOS en PC, GEMDOS en Atari) y, como resultado, la pantalla real estaba abarrotada de elementos similares a los de una computadora, incluidos nombres de rutas y comodines. En general, GEM era mucho más "geek" que Mac, pero simplemente ejecutar un shell utilizable en DOS fue un gran logro en sí mismo. De lo contrario, GEM tiene sus propias ventajas sobre Mac OS, como los controles deslizantes proporcionales.
Las aplicaciones GEM nativas para PC utilizan la extensión de archivo .APP para los ejecutables, mientras que los accesorios de escritorio GEM utilizan la extensión de archivo .ACC. [54] [55] Todos los accesorios de escritorio (y también algunas aplicaciones simples) se pueden ejecutar en ViewMAX sin modificaciones. [54] [55]
El nuevo software del sistema Graphics Environment Manager (GEM) de Digital Research Inc. (DRI) se envió como estaba previsto a los fabricantes de equipos originales (OEM) el 28 de febrero, anunció la compañía el 11 de marzo de 1985.
[…] Hay documentación adicional en forma de manual de referencia de lenguaje GSX disponible para lenguajes DRI de 16 bits dentro del kit de herramientas del programador GSX-86. El producto contiene ambas versiones de la versión más reciente de GSX 1.3: una para CP/M-86 (incluido Concurrent CP/M) y la otra para PC-DOS. […][1]
[…]
Polaroid Palette
(parte del paquete Presentation Master de Digital Research), impresora de inyección de tinta a color
Diablo
Cl30, impresora a color Transtar, serie de plotters
Houston Instruments
CMP-29/40/41/42, serie de plotters Strobe 100/260, plotter
Hewlett-Packard
7473A e impresoras
Philips
GP 300L Hi y Lo Res. […][2]
XM Desktop le permite ejecutar varias aplicaciones a la vez. Puede cambiar entre ellas a voluntad e incluso pasar datos de una aplicación a otra. Ya no es necesario que termine un trabajo antes de comenzar otro. Se acabaron los errores al escribir la salida de un programa como entrada del siguiente. Incluso para aplicaciones DOS que no fueron escritas especialmente para GEM. Estas nuevas capacidades se suman a las funciones fáciles de usar de GEM Desktop para organizar y mostrar el contenido de sus discos. Todos los comandos utilizan menús desplegables, por lo que no es necesario memorizarlos. Los discos y archivos se representan mediante iconos que son inequívocos y fáciles de seleccionar, especialmente con un mouse. GEM XM Desktop se entrega completo con el indispensable GEM Diary, que tiene funciones de despertador, calendario, diario e índice de tarjetas disponibles constantemente.
[…] En general, me gusta la idea de liberar Artline 1 y/o 2 al dominio público, dado que se discuten algunas cuestiones generales. […] comentarios sobre Artline, porque la aplicación siempre ha sido nuestro propio copyright, todo el código fue escrito en CCP, la marca registrada ha sido de
Digital Research
(ahora es nuestra) y el sistema operativo de Artline 2 ha sido GEM/4. Artline 1 necesita GEM 3.1, mientras que todos los cambios a GEM/4 se han realizado en cooperación con Lee Lorenzen y Don Heiskell para mantener la compatibilidad con
ventura publisher
. Bill Herndon está revisando actualmente su archivo para ver si puede contribuir con fuentes de controladores y VDI GEM/4. […]
{{cite web}}
: CS1 maint: copia archivada como título ( enlace )Caldera Thin Clients, Inc.
lanzó el código fuente de GEM y
ViewMAX
bajo la
Licencia Pública General de GNU
a mediados de abril, luego de años de especulaciones sobre el futuro de GEM. Caldera compró las fuentes de GEM a
Novell
junto con el
DR-DOS
en 1996, y en ese momento señaló que podrían desarrollar GEM como una plataforma para computadoras móviles y clientes ligeros. Sin embargo, estos planes se abandonaron y, en su lugar, GEM se lanzó a la comunidad de código abierto.