GEM (środowisko pulpitu) - GEM (desktop environment)

KLEJNOT
Logo Graphics Environment Manager i wordmark.png
IBM PC GEM.jpg
PC wyświetlający pulpit GEM w EGA na monitorze monochomowym
Deweloper(zy) Badania cyfrowe / Lee Jay Lorenzen
Pierwsze wydanie 28 lutego 1985 ; 36 lat temu ( 28.02.1985 )
Wersja stabilna
GEM/3 3.11 / 3 listopada 1988 ; 32 lata temu ( 1988-11-03 )
System operacyjny DOS , współbieżny DOS , FlexOS
CP/M-68K , GEMDOS, TOS
Platforma Intel 8088 , Motorola 68000
Rodzaj System okienny
Licencja Tylko GPL-2.0
Strona internetowa www .deltasoft .com

GEM (dla Graphics Menadżer Środowiska ) jest środowisko pracy , który został stworzony przez Digital Research (DRI) od 1984 do użytku z DOS systemu operacyjnego na Intel 8088 i Motorola 68000 mikroprocesorowe .

GEM jest znany przede wszystkim jako graficzny interfejs użytkownika (GUI) dla komputerów z serii Atari ST , a także był dostarczany z serią komputerów kompatybilnych z IBM PC firmy Amstrad . Był również dostępny dla standardowego IBM PC, w czasie, gdy 6 MHz IBM PC AT (i sama koncepcja GUI) była zupełnie nowa. Był to rdzeń niewielkiej liczby programów DOS, z których najbardziej godnym uwagi jest Ventura Publisher . Został przeniesiony na wiele innych komputerów, które wcześniej nie miały interfejsów graficznych, ale nigdy nie zyskały popularności na tych platformach. DRI wyprodukowało również X/GEM dla swojego systemu operacyjnego czasu rzeczywistego FlexOS z adaptacjami dla OS/2 Presentation Manager i X Window System w przygotowaniu.

Historia

GSX

Schemat przepływu pracy GSX i CBASIC
Reklama GSX w 1982 roku

Pod koniec 1984 roku GEM rozpoczął życie w DRI jako rozwinięcie bardziej uniwersalnej biblioteki graficznej znanej jako GSX (rozszerzenie systemu graficznego), napisanej przez zespół kierowany przez Dona Heiskella od około 1982 roku. Lee Lorenzen (w Graphic Software Systems , Inc.), który niedawno opuścił Xerox PARC (miejsce narodzin nowoczesnego GUI), napisał większość kodu. GSX był zasadniczo implementacją standardu graficznego GKS, specyficzną dla DRI, zaproponowaną pod koniec lat siedemdziesiątych. GSX miał na celu umożliwienie DRI pisania programów graficznych (wykresów itp.) dla dowolnej z 8-bitowych i 16-bitowych platform CP/M-80 , Concurrent CP/M , CP/M-86 i MS-DOS ( NEC APC-III ) działałby dalej, co w innym przypadku wymagałoby znacznego wysiłku ze względu na duże różnice w sprzęcie graficznym (i koncepcjach) pomiędzy różnymi systemami tamtej epoki.

GSX składał się z dwóch części: wyboru procedur do typowych operacji rysowania oraz sterowników urządzeń odpowiedzialnych za obsługę rzeczywistego wyjścia. Pierwszy z nich był znany jako GDOS (Graphics Device Operating System), a drugi jako GIOS (Graphics Input/Output System), grając z podziałem CP/M na niezależny od maszyny BDOS (Basic Disk Operating System) i specyficzny system BIOS (podstawowy system wejścia/wyjścia). GDOS był zbiorem procedur, które obsługiwały rysunek GKS, podczas gdy GIOS faktycznie używał podstawowego sprzętu do tworzenia danych wyjściowych.

KLEJNOT

Wersje Intel

16-bitowa wersja GSX 1.3 ewoluowała w jedną część tego, co później nazwano GEM , co było próbą zbudowania pełnego systemu GUI na podstawie wcześniejszej pracy GSX. Pierwotnie znany jako Crystal jako gra w projekcie IBM o nazwie Glass , nazwa została później zmieniona na GEM .

W ramach GEM GSX stał się GEM VDI (Virtual Device Interface), odpowiedzialnym za podstawową grafikę i rysunek. VDI dodał także możliwość pracy z wieloma czcionkami i dodał wybór rastra rysunek poleceń dawniej wektor -tylko GKS opartych poleceń rysunkowych. VDI dodał również wiele okien widokowych , co jest kluczowym dodatkiem do użytku z oknami.

Nowy moduł, GEM AES (Application Environment Services), zapewniał zarządzanie oknami i elementy interfejsu użytkownika, a GEM Desktop używał obu bibliotek w połączeniu, aby zapewnić GUI. Wersja 8086 całego systemu została po raz pierwszy zaprezentowana na targach COMDEX w listopadzie 1984 r. i dostarczona jako GEM/1 28 lutego 1985 r.

GEM/1
GEM 1.1 Desktop działający w rozdzielczości 640×350 EGA

GEM Desktop 1.0 został wydany 28 lutego 1985. GEM Desktop 1.1 został wydany 10 kwietnia 1985 z obsługą wyświetlaczy CGA i EGA . Wersja dla komputerów Apricot Computers z serii F, obsługująca 640×200 w maksymalnie 8 kolorach, była również dostępna jako GEM Desktop 1.2 .

Badania cyfrowy umieszczony również Równoczesne DOS 4,1 GEM jako alternatywa dla IBM jest TOPVIEW .

DRI pierwotnie zaprojektowało GEM dla DOS, aby sprawdzał i działał tylko na komputerach IBM, a nie na komputerach kompatybilnych z PC, jak te z Compaqa , ponieważ firma liczyła na opłaty licencyjne od kompatybilnych producentów. Deweloperzy zareagowali tym, co BYTE określił jako „mała eksplozja”; podał, że na seminarium zorganizowanym przez DRI w lutym 1985 r. ponad połowa uczestników zgodziła się, że niezgodność GEM z Compaqiem jest poważnym ograniczeniem. Jeszcze w tym samym miesiącu firma usunęła ograniczenie. Aplikacje, które wspierane GEM zawarte Lifetree Software GEM Write .

W tym momencie Apple Computer pozwał DRI o to, co przerodziło się w długi spór o „wygląd i styl” systemu GEM/1, który był niemal bezpośrednią kopią Macintosha (z niektórymi elementami bardziej przypominającymi te z wcześniej Lisa , dostępna od stycznia 1983). To ostatecznie doprowadziło do tego, że DRI zostało zmuszone do zmiany kilku podstawowych funkcji systemu. (Patrz też: Apple przeciwko Digital Research .) Apple później pozwał inne firmy w podobnych sprawach, w tym ich pozew przeciwko Microsoftowi i HP w sprawie praw autorskich .

Oprócz drukarek system zawierał również sterowniki dla niektórych bardziej nietypowych urządzeń, takich jak Polaroid Palette .

Klejnot/2
GEM 2.0 wyświetla okno dialogowe Informacje o pulpicie. Ta wersja GEM obsługuje 640×480 16-kolorowe VGA.

DRI odpowiedziało „przyjaznym dla procesu” GEM Desktop 2.0 , wydanym 24 marca 1986 roku, obsługującym wyświetlacze VGA . Pozwoliło to na wyświetlanie tylko dwóch stałych okien na „pulpicie” (chociaż inne programy mogły robić to, co chciały), zmieniono ikonę kosza na śmieci i usunięto animacje takich rzeczy, jak otwieranie i zamykanie okien. Poza tym był podobny do GEM/1, ale zawierał również szereg poprawek błędów i ulepszeń kosmetycznych.

W 1988 Stewart Alsop II powiedział, że GEM był jednym z kilku interfejsów graficznych, które „zostały już wyeliminowane” z rynku przez Apple, IBM/Microsoft i inne.

GEM XM

GEM XM z "GEM Desktop 3.0" był zaktualizowaną wersją GEM/2 w 1986/1987 dla DOS (włącznie z DOS Plus ), która umożliwiała przełączanie zadań i możliwość uruchamiania do dziesięciu programów GEM i DOS jednocześnie, zamieniając się na rozszerzoną pamięć (XM) poprzez EMS / EEMS lub na dysk (w tym na dyski RAM , tym samym umożliwiając również korzystanie z pamięci rozszerzonej ). Dane mogły być kopiowane i wklejane pomiędzy aplikacjami poprzez schowek z funkcją filtrowania (funkcja później dostępna również w TaskMAX pod DR DOS 6.0 ). Firma Digital Research planowała oferować GEM XM jako opcję użytkownikom GEM Draw Plus oraz poprzez kanały OEM.

Kod źródłowy GEM XM jest teraz dostępny bezpłatnie na warunkach licencji GNU General Public License .

Klejnot/3
GEM 3.11 wyświetla okno dialogowe Informacje o pulpicie

Ostatnim wydaniem detalicznym był GEM/3 Desktop , wydany 3 listopada 1988 roku, który miał zwiększoną szybkość i był dostarczany z kilkoma podstawowymi aplikacjami. Sprzedaż handlowa GEM zakończyła się GEM/3; kod źródłowy został następnie udostępniony wielu wiodącym klientom DRI.

Podczas gdy GEM/2 na PC nadal zapewniał API GSX oprócz API GEM; GEM/3 już nie.

GEM/4 dla CCP Artline

GEM/4 , wydany w 1990 roku, zawierał możliwość pracy z krzywymi Béziera , funkcja wciąż nieczęsto spotykana poza światem PostScriptu . Ta wersja została stworzona specjalnie dla Artline 2, programu do rysowania niemieckiej firmy CCP Development GmbH .

System zawierał również zmiany w systemie zarządzania czcionkami, co sprawiło, że był niekompatybilny z takimi jak Timeworks Publisher .

Artline 1 nadal działał na GEM 3.1.

GEM/5 dla GST Timeworks Publisher

Inna wersja GEM o nazwie GEM/5 została wyprodukowana przez GST Software Products dla Timeworks Publisher 2.1. Zawierała zaktualizowany wygląd z przyciskami 3D, a także funkcje, takie jak skalowanie czcionek w locie. Został dostarczony wraz ze wszystkimi standardowymi narzędziami GEM 3.1. Ta wersja została wyprodukowana z GEM 3.13 tylko z obsługą Béziera zaczerpniętą z GEM/4.

ViewMAX dla DR DOS
Zrzut ekranu menedżera plików ViewMAX z kolorami zdefiniowanymi przez użytkownika

Sam GEM Desktop został wydzielony w 1990 roku jako produkt znany jako ViewMAX, który był używany wyłącznie jako powłoka zarządzania plikami w DR DOS . W takiej formie system nie mógł uruchomić innych programów GEM. Doprowadziło to do sytuacji, w której wiele aplikacji (w tym ViewMAX) mogło istnieć z własną, statycznie połączoną kopią systemu GEM. Ten scenariusz był właściwie rzadki, ponieważ opublikowano niewiele natywnych programów GEM. W 1991 roku został wydany ViewMAX 2 .

W tych formach GEM przetrwał do momentu wykupienia DRI przez firmę Novell w czerwcu 1991 roku, a cały rozwój GEM został anulowany.

X/klejnot

Przez cały ten czas DRI pracowało również nad stworzeniem systemu GEM zdolnego do wielozadaniowości. Zaczęło się od X/GEM opartego na GEM/1, ale wymagało to użycia jednego z wielozadaniowych systemów operacyjnych opartych na CP/M. DRI wyprodukowało również X/GEM dla swojego systemu operacyjnego czasu rzeczywistego FlexOS z adaptacjami dla OS/2 Presentation Manager i X Window System w przygotowaniu.

Wydawca Ventura

Lee Lorenzen odszedł wkrótce po wydaniu GEM/1, kiedy stało się jasne, że DRI nie ma dużego zainteresowania rozwojem aplikacji. Następnie dołączył do dwóch innych byłych pracowników DRI, Don Heiskell i John Meyer, aby założyć Ventura Software . Opracowali Ventura Publisher (który był później sprzedawany przez Xerox i ostatecznie przez Corel ), który przez jakiś czas stał się bardzo popularnym programem do komputerowego publikowania .

Wersje Atari

TOS 4.92 ( Atari Falcon ) z systemem HomePage Penguin i Desktop

Rozwój produkcyjnej wersji GEM 68000 rozpoczął się we wrześniu 1984 roku, kiedy Atari wysłało zespół o nazwie „The Monterey Group” do Digital Research w celu rozpoczęcia prac nad przeniesieniem GEM-a. Pierwotnie plan zakładał uruchomienie GEM na CP/M-68K , oba rzekomo przeniesione do Motoroli 68000 przez DRI przed stworzeniem projektu ST. W rzeczywistości porty te były bezużyteczne i wymagałyby znacznego rozwoju. Firma Digital Research zaoferowała również GEMDOS (pierwotnie napisany jako GEM DOS), podobny do DOS system operacyjny, którego celem jest przeniesienie GEM na różne platformy sprzętowe. Był dostępny dla procesorów 8086 i 68000 i został dostosowany do systemu programistycznego Apple Lisa 2/5 i Motorola VME /10. Atari ostatecznie zdecydowało się zrezygnować z istniejącego kodu CP/M-68K i zamiast tego przenieść GEMDOS na platformę Atari ST, nazywając go TOS .

Ponieważ Atari dostarczyło większość prac nad wersją 68000, otrzymali pełne prawa do dalszego rozwoju bez konieczności odwrotnej licencji z powrotem do DRI. W rezultacie pozew Apple-DRI nie dotyczył wersji GEM na Atari i pozwolono im zachować interfejs bardziej podobny do Maca.

W ciągu następnych siedmiu lat, od 1985 do 1992 roku, wraz z każdą nową generacją linii ST wypuszczano nowe wersje TOS. Aktualizacje obejmowały obsługę większej liczby kolorów i wyższych rozdzielczości po stronie rastrowej systemu, ale pozostały zasadniczo podobne do oryginału pod względem obsługi GKS. W 1992 roku Atari wypuściło TOS 4 lub MultiTOS wraz z ich ostatnim systemem komputerowym Falcon030 . W połączeniu z MiNT , TOS 4 umożliwił pełną obsługę wielozadaniowości w GEM.

Ciągły rozwój

Zrzut ekranu OpenGEM 5

Kiedy Caldera kupiła pozostałe aktywa Digital Research od firmy Novell 23 lipca 1996 roku, początkowe plany zakładały ożywienie technologii GEM i ViewMAX w celu uzyskania interfejsu użytkownika o niewielkich rozmiarach dla OpenDOS w aplikacjach mobilnych jako Caldera View , ale plany te zostały porzucone przez Caldera UK na korzyść z DR-WebSpyder i GROW . Caldera Thin Clients (później znany jako Lineo ) udostępnił kod źródłowy dla GEM i GEM XM na warunkach GNU GPL-2.0-tylko w kwietniu 1999. Rozwój GEM na PC jest kontynuowany jako FreeGEM i OpenGEM .

Na platformie Atari ST oryginalne źródła DRI zostały ponownie przeniesione, aby można je było wykorzystać w darmowym i otwartym klonie TOS EmuTOS . Nowe implementacje części AES GEM zostały zaimplementowane od podstaw w postaci XaAES i MyAES, z których oba są w pełni ponownie wprowadzone i obsługują wielozadaniowość w uzupełnieniu do wielozadaniowych rozszerzeń FreeMiNT do TOS .

Opis

„Pełny” system GEM składał się z trzech głównych części:

  1. GEM VDI (wirtualny interfejs urządzenia)
  2. GEM AES (usługi środowiska aplikacji)
  3. GEM Desktop (aplikacja zapewniająca zarządzanie plikami oparte na przeciąganiu i upuszczaniu)

GEM VDI był podstawowym systemem graficznym całego silnika GEM. Odpowiadał za rysowanie „niskopoziomowe” w postaci „rysowania linii stąd do tego miejsca”. VDI zawierał niezależny od rozdzielczości i współrzędnych zestaw instrukcji rysowania wektorów, które były wywoływane z aplikacji przez dość prosty interfejs. VDI zawierał również informacje o środowisku (stan lub kontekst), bieżący kolor, grubość linii, urządzenie wyjściowe itp.

Polecenia te zostały następnie zbadane przez GDOS, którego zadaniem było wysłanie poleceń do odpowiedniego sterownika w celu rzeczywistego renderowania. Na przykład, jeśli określone środowisko GEM VDI było podłączone do ekranu, instrukcje VDI były następnie kierowane do sterownika ekranu w celu rysowania. Zwykła zmiana środowiska, aby wskazać drukarkę, była wszystkim, co było potrzebne (teoretycznie) do drukowania, co radykalnie zmniejszyło obciążenie programistów (wcześniej musieli drukować „ręcznie” we wszystkich aplikacjach). GDOS był również odpowiedzialny za ładowanie sterowników i wszelkich żądanych czcionek podczas pierwszego ładowania GEM.

Jedną z głównych zalet VDI w porównaniu z komputerami Macintosh był sposób obsługi wielu urządzeń i kontekstów. W systemie Mac takie informacje były przechowywane w pamięci wewnątrz aplikacji. Spowodowało to poważne problemy przy próbie zmuszenia Maca do obsługi wielozadaniowości z wywłaszczaniem, ponieważ warstwa rysunkowa ( QuickDraw ) musiała mieć bezpośredni dostęp do pamięci do wszystkich programów. Jednak w GEM VDI takie informacje były przechowywane w samym urządzeniu, a GDOS tworzył „urządzenia wirtualne” dla każdego kontekstu – na przykład każdego okna.

GEM AES dostarczył system okien, menedżer okien, styl UI i inne elementy GUI (widgety). Ze względu na wydajność wiele widżetów GUI zostało narysowanych przy użyciu grafiki znakowej. W porównaniu do Macintosha, AES zapewniał raczej spartański wygląd, a system był dostarczany z pojedynczą czcionką o stałej szerokości.

AES wykonuje swoje operacje przez wywołanie VDI, ale w bardziej ogólnym sensie obie części GEM były często całkowicie rozdzielone w aplikacjach. Aplikacje zazwyczaj nazywają się poleceniami AES w celu skonfigurowania nowego okna, podczas gdy reszta aplikacji używa wywołań VDI, aby faktycznie rysować w tym oknie.

GEM Desktop był aplikacją, która wykorzystywała AES do zapewnienia menedżera plików i programu uruchamiającego, tradycyjnego środowiska „pulpitu”, którego użytkownicy oczekiwali od komputerów Macintosh. W przeciwieństwie do Macintosha, GEM Desktop był oparty na DOS - ie ( MS-DOS , DOS Plus lub DR DOS na PC, GEMDOS na Atari), w wyniku czego rzeczywisty wyświetlacz był zaśmiecony elementami podobnymi do komputera, w tym nazwami ścieżek i symbole wieloznaczne. Ogólnie rzecz biorąc, GEM był znacznie bardziej "geekowy" niż Mac, ale samo uruchomienie użytecznej powłoki w systemie DOS było ogromnym osiągnięciem. W przeciwnym razie GEM ma swoje zalety w stosunku do Mac OS, takie jak proporcjonalne suwaki.

Natywne aplikacje PC GEM używają rozszerzenia .APP dla plików wykonywalnych, podczas gdy akcesoria komputerowe GEM zamiast tego używają rozszerzenia .ACC. Wszystkie akcesoria do komputerów stacjonarnych (a także kilka prostych aplikacji) można uruchomić pod ViewMAX bez modyfikacji.

Znane 8-bitowe sterowniki urządzeń

Znane 16-bitowe sterowniki urządzeń

  • DDANADXM Anadex DP-9501 i DP-9001A
  • DDCITOLR C. Itoh 8510A lo-res
  • DDCNTXM Centronics 351, 352 i 353
  • DDDS180 DataSouth
  • DDIDSM IDS Monochromatyczny
  • DDLA100 grudnia
  • DDLA50 grudnia
  • DDOKI84 Oki Data Microline
  • DDPMVP Printronix MVP
  • DD3EPSNL Drukarka IBM/Epson FX-80 lo-res, patrz DDFXLR7 i DDFXLR8
  • DD3EPSNH Drukarka hi-res IBM/Epson FX-80, patrz DDFXHR8
  • DD75XHM1 Regnecentralen RC759 Piccoline
  • DDNECAPC NEC APC
  • Metaplik DDGSXM
  • EPSMONH6
  • NCRPC4 NCR DecisionMate V
  • IBMBLMP2 IBMBLMP3 Tryb monochromatyczny IBM CGA
  • IBMBLCP2 IBMBLCP3 Tryb koloru IBM CGA
  • IBMCHMP6
  • IBMEHFP6 IBMEHMP6 IBMELFP6 IBM Enhanced Graphics Adapter
  • IBMHP743 Hewlett-Packard 7470A/7475A Ploter, patrz DDHP7470 i DD7470
  • HERMONP2 IBMHERP3 HERMONP6 Hercules Karta graficzna (720×348)
  • Metaplik METAFIL6
  • PALETA Kamera polaroid
  • UM85C408AF Grafika UMC VGA

Wersja GSX dla systemu DOS obsługuje ładowanie sterowników w formacie CP/M-86 CMD . W konsekwencji, ten sam plik binarny sterownika może działać zarówno pod CP/M-86 jak i DOS .

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki