GEM ( Graphics Environment Manager ) [ 2 ]は、 Digital Researchが1985 年にリリースした、現在は販売終了しているオペレーティング環境です。GEM は主にAtari STシリーズのコンピュータのネイティブグラフィカル ユーザー インターフェイスとして知られ、 WIMPデスクトップを提供します。IBM PC 互換機[ 3 ] [ 4 ]にも搭載され、 Amstradの一部のモデルにも同梱されていました。Intel 80186コプロセッサを搭載したBBC Masterコンピュータでも利用可能でした。GEM は、 Ventura Publisherをはじめとするいくつかの商用 MS-DOS プログラムのコアとして使用されています。以前はグラフィカル インターフェイスがなかった他のコンピュータにも移植されましたが、普及することはありませんでした。GEM の最終小売版は 1988 年にリリースされました。
Digital Research は後に、リアルタイム オペレーティングシステムFlexOS [ 3 ] [ 5 ]用の X/GEM を開発し、OS/2 Presentation Manager [ 6 ] [ 3 ]およびX Window Systemへの適応も準備中であった。[ 3 ]


1984 年後半、GEM は DRI で、ドン・ハイスケルが 1982 年頃から率いるチームによって書かれた、より汎用的なグラフィックス ライブラリである GSX (Graphics System Extension) [ 7 ]の派生として誕生しました。 [ 8 ]最新の GUI の発祥地であるゼロックスを最近退職した Lee Jay Lorenzen (Graphic Software Systems 所属) が、コードの大部分を記述しました。GSX は基本的に、 1970 年代後半に提案されたGKSグラフィックス標準の DRI 固有の実装でした。GSX は、DRI が8 ビットおよび16 ビットプラットフォームであるCP/M-80、Concurrent CP/M、CP/M-86、およびMS-DOS ( NEC APC-III ) のいずれでも動作するグラフィックス プログラム (チャート作成など) を作成できるようにすることを目的としていました。[ 9 ]そうでなければ、当時のさまざまなシステム間でグラフィックス ハードウェア (および概念) に大きな違いがあったため、移植には相当な労力が必要でした。[ 7 ]
GSX は 2 つの部分から構成されていました。一般的な描画操作のためのルーチン群と、実際の出力処理を担当するデバイス ドライバです。前者はGDOS (Graphics Device Operating System)、後者はGIOS (Graphics Input/Output System)と呼ばれていました[ 10 ]。これは、CP/M がマシンに依存しないBDOS (Basic Disk Operating System) とマシン固有のBIOS (Basic Input/Output System)に分かれていることをもじったものです[ 7 ] 。GDOSは GKS 描画を処理するルーチン群であり、GIOS は実際に基盤となるハードウェアを使用して出力を生成します[ 7 ] 。
GSXのMS-DOS版は、CP/M-86 CMD形式でのドライバのロードをサポートしています。そのため、同じドライババイナリがCP/M-86とDOSの両方で動作する可能性があります。[ 14 ]
16 ビット版の GSX 1.3 [ 7 ] [ 9 ]は、後にGEMとして知られるようになるものの一部へと進化しました。これは、以前の GSX の成果をベースとして完全な GUI システムを構築しようとする試みでした。当初はIBM のGlassというプロジェクトをもじってCrystalと呼ばれていましたが、後にGEMと改名されました。
GEM の下では、GSX はGEM VDI (Virtual Device Interface) となり、基本的なグラフィックスと描画を担当するようになりました。[ 10 ] VDI では、複数のフォントを扱う機能が追加され、以前はベクターのみだった GKS ベースの描画コマンドに、ラスター描画コマンドが追加されました。また、VDI では、ウィンドウで使用するための重要な追加機能である、複数のビューポートも追加されました。 [ 15 ]
新しいモジュールであるGEM AES (Application Environment Services) はウィンドウ管理と UI 要素を提供し、GEM Desktop は両方のライブラリを組み合わせて GUI を提供しました。[ 16 ]システム全体の 8086 バージョンは、1984 年 9 月にソフトウェアが Acorn に帰属していた80286 ベースのAcorn Business Computerでのデモンストレーションに続いて、1984 年 11 月にCOMDEXで初めて公式にデモされました。[ 4 ] [ 3 ]そして、システムは 1985 年 2 月 28 日に GEM/1 として出荷されました。[ 1 ]

GEM Desktop 1.0 は1985 年 2 月 28 日にリリースされました。[ 1 ] GEM Desktop 1.1 は、 CGAおよびEGAディスプレイのサポートを備えて 1985 年 4 月 10 日にリリースされました。[ 18 ] [ 19 ] Apricot Computers F-Series 用のバージョンも、最大 8 色で 640×200 をサポートし、GEM Desktop 1.2として利用可能でした。[ 20 ]
デジタルリサーチ社は、GEMを搭載したConcurrent DOS 4.1をIBMのTopViewの代替品として位置づけた。[ 21 ]
DRIは当初、GEMをDOS向けに設計し、IBMコンピュータでのみ動作するようにし、CompaqなどのPC互換機では動作しないようにした。これは、同社が互換機メーカーからライセンス料を受け取ることを期待していたためである。開発者たちは、BYTEが「小さな爆発」と表現した反応を示した。BYTEは、1985年2月にDRIが主催したセミナーで、参加者の半数以上がGEMとCompaqの非互換性は深刻な制約であると同意したと報告した。その月の後半、同社はこの制限を撤廃した。[ 22 ] GEMをサポートするアプリケーションには、Lifetree SoftwareのGEM Writeなどがあった。[ 23 ]
この時点で、Apple Computer はDRI を訴えました[ 24 ]。これは GEM/1 システムの「外観と操作感」をめぐる長期にわたる紛争へと発展しました。GEM/1 システムはMacintoshのほぼ完全なコピーであり (一部の要素は 1983 年 1 月から入手可能だった初期のLisaの要素により近い)、最終的に DRI はシステムのいくつかの基本機能を変更せざるを得なくなりました。[ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 24 ] ( Apple 対 Digital Researchも参照)。Apple はその後、Microsoft や HP に対する著作権訴訟など、同様の問題で他の企業も訴えることになります。
プリンターに加えて、このシステムにはポラロイドパレットなどのより珍しいデバイス用のドライバーも含まれていました。[ 13 ]

DRIは、1986年3月24日にリリースされた「訴訟対応型」のGEM Desktop 2.0で対応し、 1987年のリリース後にVGAのサポートを追加しました。 [ 29 ]このバージョンでは、「デスクトップ」上に固定ウィンドウを2つだけ表示できるようにし(他のプログラムは自由に表示できましたが)、ゴミ箱アイコンを変更し、ウィンドウの開閉などのアニメーションを削除しました。それ以外はGEM/1と似ていましたが、多数のバグ修正と外観の改善も含まれていました。
1988年、スチュワート・アルソップ2世は、GEMはApple、IBM/Microsoftなどによって「すでに市場から駆逐された」いくつかのGUIの1つであると述べた。[ 30 ]
GEM XM with "GEM Desktop 3.0" は、1986/1987 年にDOS ( DOS Plusを含む)向けに更新された GEM/2 のバージョンで、タスク切り替えが可能で、EMS / EEMSを介して拡張メモリ(XM)またはディスク ( RAM ディスクを含む)にスワップアウトして、最大 10 個の GEM および DOS プログラムを同時に実行できる機能があり、拡張メモリの使用も可能でした。[ 31 ] [ 32 ] [ 33 ] [ 34 ]クリップボードとフィルタ機能を使用して、アプリケーション間でデータをコピーして貼り付けることができました(この機能は後にDR DOS 6.0のTaskMAXでも見られました)。[ 32 ] Digital Research は、GEM XM を GEM Draw Plusユーザー向けのオプションとして、また OEM チャネルを通じて提供する予定でした。[ 31 ]
GEM XMのソースコードは、 GNU一般公衆利用許諾契約書(GPL)の条件に基づき、現在無償で利用可能です。

最後の小売版は、1988年11月3日にリリースされたGEM/3 Desktop [ 35 ]で、速度が向上し、いくつかの基本的なアプリケーションが同梱されていました。GEMの商用販売はGEM/3で終了し、その後ソースコードはDRIの主要顧客数社に提供されました。
PC 用の GEM/2 は GEM API に加えて GSX API も提供していましたが、GEM/3 では提供されなくなりました。[ 10 ]
1990 年にリリースされたGEM/4には、PostScript の世界以外ではまだ一般的ではない機能であるベジェ曲線を扱う機能が含まれていました。このバージョンは、ドイツの会社CCP Development GmbHの描画プログラムであるArtline 2用に特別に作成されました。[ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ]
このシステムにはフォント管理システムの変更も含まれており、Timeworks Publisherなどのシステムとの互換性がなくなっていた。
Artline 1 は依然として GEM 3.1 上で動作していた。[ 39 ]
GEM/5 [ 43 ]と呼ばれる別のバージョンの GEM は、GST Software ProductsによってTimeworksのPublisher 2.1用に作成されました。3Dボタンによる最新の外観に加え、オンザフライのフォントスケーリングなどの機能が含まれていました。標準の GEM 3.1 ツールがすべて付属していました。このバージョンは GEM 3.13 から作成され、ベジェ処理のみが GEM/4 から引き継がれています。

GEM Desktop自体は1990年にViewMAXという製品としてスピンオフされ、 DR DOS上でファイル管理シェルとしてのみ使用されました。この形態では、システムは他のGEMプログラムを実行できませんでした。そのため、ViewMAXを含む多数のアプリケーションが、それぞれ独自の静的リンクされたGEMシステムのコピーを持つという状況が生じました。ネイティブGEMプログラムはほとんど公開されていなかったため、このような状況は実際には稀でした。1991年にはViewMAX 2がリリースされました。
これらの形態で、GEMは1991年6月にDRIがNovellに買収されるまで存続し[ 44 ] [ 45 ]、GEMの開発はすべて中止されました。
この間、DRI は GEM システムをマルチタスク対応にするための作業も行っていました。これはGEM/1 をベースにしたX/GEMから始まりましたが、これにはマルチタスク対応の CP/M ベースのオペレーティングシステムのいずれかを使用する必要がありました。DRI はまた、自社のリアルタイム オペレーティングシステムであるFlexOS [ 3 ] [ 5 ]向けに X/GEM を開発し、 OS/2 Presentation Manager [ 6 ] [ 3 ]および準備中のX Window System [ 3 ]にも適応させました。
リー・ローレンゼンは、GEM/1のリリース直後、DRIがアプリケーション開発に強い関心を持っていないことが明らかになったため、DRIを退社した。その後、彼はDRIの元従業員であるドン・ハイスケルとジョン・マイヤーと共にVentura Softwareを設立した。彼らはVentura Publisher (後にゼロックス、そして最終的にはコーレルによって販売された)を開発し、これはしばらくの間、非常に人気のあるデスクトップパブリッシングプログラムとなった。

GEM の 68000 版の開発は 1984 年 9 月に始まり、アタリはGEM の移植作業を開始するために「モンテレー グループ」と呼ばれるチームをデジタル リサーチに派遣しました。当初の計画は、ST 設計が作成される前に DRI によってMotorola 68000に移植されたCP/M-68K上で GEM を実行することでした。実際には、これらの移植版は使用できず、かなりの開発が必要でした。デジタル リサーチはまた、GEM をさまざまなハードウェア プラットフォームに移植することを目的とした DOS ライクなオペレーティングシステムである GEMDOS (当初は GEM DOS と書かれ、「プロジェクト ジェイソン」とも呼ばれていました) を提供しました。これは8086および68000プロセッサで利用可能で、 Apple Lisa 2/5およびMotorola VME /10 [ 46 ]開発システムに適合されていました。[ 47 ]アタリは1985年1月に[ 48 ]既存のCP/M-68Kコードを放棄し、代わりにDRI GEMDOSをアタリSTプラットフォームに移植することを決定し、それをTOSと呼んだ。[ 49 ]
68000版の開発の大部分はアタリが行っていたため、アタリはDRIにライセンスを逆譲渡することなく、開発を継続する完全な権利を与えられた。その結果、アップルとDRIの訴訟はアタリ版GEMには適用されず、アタリ版はよりMacライクなユーザーインターフェースを維持することが認められた。
1985年から1992年までの7年間、STシリーズの新しい世代ごとにTOSの新バージョンがリリースされました。アップデートには、システムのラスタライズ側でより多くの色と高解像度のサポートが含まれていましたが、GKSのサポートに関しては基本的にオリジナルとほぼ同じでした。1992年、アタリは最後のコンピュータシステムであるFalcon030とともにTOS 4、またはMultiTOSをリリースしました。MiNTと組み合わせることで、TOS 4はGEMで完全なマルチタスクサポートを可能にしました。

カルデラが1996年7月23日にノベルから残りのデジタルリサーチ資産を買収した際、 [ 50 ]当初の計画は、モバイルアプリケーション[ 51 ] [ 52 ]のOpenDOS用の低フットプリントユーザーインターフェイスとしてGEMとViewMAXテクノロジーを復活させ、Caldera Viewとして提供するというものだったが、これらの計画はCaldera UKによって放棄され、 DR-WebSpyderとGROWが優先された。Caldera Thin Clients(後にLineoとして知られる)は、1999年4月にGNU GPL-2.0のみの条件でGEMとGEM XMのソースをリリースした。 [ 52 ] PC向けGEMの開発はFreeGEMとOpenGEMとして継続されている。
Atari ST プラットフォームでは、オリジナルの DRI ソースが再び移植され、無料のオープンソースTOSクローンであるEmuTOSで使用されました。GEM の AES 部分の新しい実装は、 XaAESおよび MyAES [ 53 ]の形でゼロから実装されており、どちらも完全に再入可能で、TOSのFreeMiNTマルチタスク拡張機能の上にマルチタスクをサポートしています。
「完全な」GEMシステムは、主に3つの部分から構成されていた。
GEM VDIは、GEMエンジン全体のコアとなるグラフィックスシステムでした。「ここからここまで線を引く」といった低レベルの描画を担当していました。VDIには、解像度や座標に依存しない一連のベクター描画命令が含まれており、アプリケーションから比較的シンプルなインターフェースを介して呼び出されました。また、VDIには環境情報(状態、コンテキスト)、現在の色、線の太さ、出力デバイスなども含まれていました。
これらのコマンドはGDOSによって解析され、GDOSは実際のレンダリングのために適切なドライバにコマンドを送信する役割を担っていました。例えば、特定のGEM VDI環境が画面に接続されている場合、VDI命令は画面ドライバにルーティングされて描画が行われました。プリンタを指すように環境を変更するだけで(理論上は)印刷が可能になり、開発者の作業負荷が大幅に軽減されました(以前はすべてのアプリケーションで印刷を「手作業」で行う必要がありました)。GDOSはまた、GEMが最初にロードされたときにドライバと要求されたフォントをロードする役割も担っていました。
VDIがMacintoshに比べて提供した大きな利点の1つは、複数のデバイスとコンテキストの処理方法でした。Macでは、このような情報はアプリケーション内のメモリに保存されていました。そのため、描画レイヤー(QuickDraw)がすべてのプログラムに直接メモリアクセスする必要があるため、Macでプリエンプティブマルチタスクを処理しようとすると深刻な問題が発生しました。しかし、GEM VDIでは、このような情報はデバイス自体に保存され、GDOSが各コンテキスト(たとえば各ウィンドウ)ごとに「仮想デバイス」を作成しました。
GEM AESは、ウィンドウシステム、ウィンドウマネージャ、UIスタイル、その他のGUI要素(ウィジェット)を提供しました。パフォーマンス上の理由から、多くのGUIウィジェットは実際には文字グラフィックスを使用して描画されていました。Macintoshと比較すると、AESはかなり簡素な外観で、システムには単一の等幅フォントが付属していました。
AESはVDIを呼び出すことで処理を実行しますが、より一般的な意味では、GEMの2つの部分はアプリケーション内で完全に分離されていることがよくありました。アプリケーションは通常、AESコマンドを呼び出して新しいウィンドウを設定し、アプリケーションの残りの部分はVDI呼び出しを使用して実際にそのウィンドウに描画していました。
GEM Desktopは、AESを使用してファイルマネージャとランチャーを提供するアプリケーションプログラムであり、ユーザーがMacintoshに期待していた伝統的な「デスクトップ」環境を提供していました。Macintoshとは異なり、GEM DesktopはDOS(PCではMS-DOS、DOS Plus、またはDR DOS 、AtariではGEMDOS/ TOS)上で動作していたため、実際の画面はパス名やワイルドカードなど、コンピュータらしい項目でごちゃごちゃしていました。一般的に、GEMはMacよりもはるかに「オタクっぽい」ものでしたが、DOS上で実用的なシェルを動作させること自体が大きな成果でした。その他にも、GEMには比例スライダーなど、Mac OSにはない独自の利点がありました。
ネイティブ PC GEM アプリケーションは実行ファイルにファイル拡張子 .APP を使用しますが、GEM デスクトップアクセサリは代わりにファイル拡張子 .ACC を使用します。[ 54 ] [ 55 ]すべてのデスクトップアクセサリ (およびいくつかのシンプルなアプリケーション) は、変更なしで ViewMAX で実行できます。[ 54 ] [ 55 ]
Digital Research Inc. (DRI) の新しい Graphics Environment Manager (GEM) システム ソフトウェアは、予定通り 2 月 28 日に機器メーカー (OEM) に出荷されたと、同社は 1985 年 3 月 11 日に発表した。
[…] GSX-86 Programmer's Toolkitには、16ビットDRI言語用のGSX言語リファレンスマニュアルという形で詳細なドキュメントが用意されています。この製品には、最新のGSXバージョン1.3の2つのバージョンが含まれています。1つはCP/M-86(Concurrent CP/Mを含む)用、もう1つはPC-DOS用です。[…]
[…]
Polaroid Palette
(デジタルリサーチ社のPresentation Masterパッケージの一部)、
Diablo
Cl30カラーインクジェットプリンター、Transtarカラープリンター、
Houston Instruments
CMP-29/40/41/42プロッターシリーズ。Strobe 100/260プロッターシリーズ、
Hewlett-Packard
7473Aプロッター、
Philips
GP
300L高解像度および低解像度プリンター。[…]
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)GEM XM Desktop では、複数のアプリケーションを同時に実行できます。アプリケーション間を自由に切り替えたり、アプリケーション間でデータを渡すこともできます。1 つの作業を完了してから別の作業を開始する必要はありません。あるプログラムの出力を次のプログラムへの入力として入力する際のエラーもなくなります。GEM 用に特別に作成されていない DOS アプリケーションでも同様です。これらの新しい機能は、ディスクの内容を整理して表示する使いやすい GEM Desktop 機能に加えて提供されます。すべてのコマンドはドロップダウン メニューを使用するため、覚える必要はありません。ディスクとファイルは、特にマウスで選択しやすい、明確で分かりやすいアイコンで表されます。GEM XM Desktop には、アラーム クロック、カレンダー、日記、カード インデックス機能が常に利用できる、欠かせない GEM Diary が付属しています。
[…] 一般的に、Artline 1 および/または 2 をパブリック ドメインにリリースするというアイデアは気に入っていますが、いくつかの一般的な事項が議論されています。 […] Artline に関するコメントですが、アプリケーションは常に私たちの独自の著作権であり、すべてのコードは
CCP
で書かれ、商標は
Digital Research
のものであり (現在は私たちのものです)、Artline 2 オペレーティングシステムは GEM/4 でした。Artline 1 には GEM 3.1 が必要ですが、GEM/4 へのすべての変更は、
ventura publisher
との互換性を維持するために
Lee Lorenzen
と
Don Heiskell
と協力して行われました。ビル・ハーンドン氏は現在、GEM/4 VDIおよびドライバのソースコードを提供できるかどうかを確認するため、自身のアーカイブを調べている。[…]
{{cite book}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク)Caldera Thin Clients, Inc. は、 GEM の将来について長年憶測が飛び交った後、4 月中旬に GEM と
ViewMAX
のソース コードを
GNU General Public License
の下でリリースしました。Caldera は 1996 年に
Novell
から GEM のソースを
DR-DOS
とともに購入し
、当時、GEM をモバイル コンピュータやシン クライアントのプラットフォームに開発する可能性があると述べていました。しかし、これらの計画は中止され、代わりに GEM はオープンソース コミュニティにリリースされました。