この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "SX-Window"
SX-Window開発者計測技研、シャープ
プログラミング言語C言語
初版ver.1.0 / 1990年4月 (34年前) (1990-04)
最新安定版ver.3.1 / 1994年5月 (30年前) (1994-05)
使用できる言語日本語
プラットフォームMC68000
ウェブサイト[1]
テンプレートを表示
SX-Windowとは、シャープ X68000シリーズ用のウィンドウシステム(デスクトップ環境)である。X68000シリーズにおける純正のGUIオペレーティングシステムに相当する。
1990年発売のEXPERT II/PRO II/SUPER HD以降の機種に標準添付されていたが、ソフトウェアのみのパッケージ販売もされていたため、標準添付されていない機種や旧バージョンを所有しているユーザーが別途購入して使用することができた。 栃木県宇都宮市でマイコンショップ「BASIC HOUSE」を運営し、『Oh!MZ』/『Oh!X』誌の紙上通販の広告でもおなじみだった計測技研
概要
X68000は1986年の発売当初よりマウスを標準搭載しており、標準DOSのHuman68kにはマウス操作を前提とする「ビジュアルシェル」(「VS.X」)が標準搭載されていたが、文字通りシェルの役割しか持たなかった。「ビジュアルシェル」は一見するとGUI OSのようであったがウィンドウマネージャやオペレーティング環境としての機能は持っておらず。Human68k上で動作するアプリケーションランチャーあるいはファイラーに相当するものであり「ファインダー」内のアイコンをクリックしてアプリを起動するとビジュアルシェルは終了するようになっていた。1990年にSX-Windowがリリースされたことにより、X68000において実用的なウィンドウシステムが利用できるようになった。
SX-Windowは、主にGUIのサービスを提供する「SXシステム」(「FSX.X」)と、疑似マルチタスクによる動作を提供する「SXシェル」(「SXWIN.X」)で構成されている。SXシステムの提供するサービス群は「SXコール」と呼ばれる。
SX-Windowは標準OSのHuman68kと協調して動作している。したがって、Human68kからみればSX-Windowは一プロセスに過ぎない。しかし「ビジュアルシェル」とは異なり、自プロセス内で各タスクを扱うことで、疑似マルチタスク環境を実現している。
Intel 80286を採用した同時期のコンピューターでは、リニアに扱えるメモリのサイズは64KBまでで、それを超えるメモリ空間へのアクセスには「セグメント切り替え」と呼ばれる作業が必要となり、そのぶんプログラミングが面倒となって動作も遅くなったのに対し、メモリを理論上16MBまでリニアに扱えるMC68000を採用したX68000シリーズは、全てのメモリ(但しX68000では設計上最大12MBまでに留まる)をリニアに扱える「リニアアドレッシング」という構成であった。Human68k自身はバックグラウンドマルチタスクに留まり利用者にとってはシングルタスクと変わりはなく、Human68kのOSコールでは一つのアプリケーションが画面や空きメモリを自由に占有できた。これに対し、マルチタスクを前提とするSX-WindowのSXコールにおいては、疑似マルチタスクシステムを破壊するような行為は禁止されており、そのような自由さはなかった。他のタスクに影響が出ないよう空きメモリは自由に占有できず、表示はアプリケーション固有のウィンドウ内にしか行えなかった。
SX-Windowが提供するウィンドウマネージャを利用して表示を行い、イベントドリブン型のプログラムにするなどといった制限を守りさえすれば、SXコールを使って比較的簡単にアプリケーションの構築が可能になっていた。
SX-Windowは1990年当時のWindowsやMacOS(Classic Mac OS、「漢字Talk」)と同様、イベントドリブンによるマルチタスクである。タスクの切り替えをOSが担当するタイムスライシング型(プリエンプティブマルチタスク)ではなかった。後年にリリースされたハードウェアと比較してX68000は処理能力が高くなかったため、1990年当時においては正しい選択だったと『SX-WINDOW Ver 3.1開発キット』(1995年)では評価されている[1]。
システムコール(SXコール)は、CPUに同じMC68000を使用するMac OSのシステムコールとかなり似ており、有志の開発者がMac OS用のアプリを移植しやすいように『Oh!X』誌などによって解析なども行われた[2]。画面のデザイン、配色などはNeXTSTEPに近いイメージで作られていた。
画面モードはX68000の高解像モードである768×512ドット(モニタに表示しきれない部分をスクロールさせることで実画面1024×1024として使用可能)の16色が使われていたが、1993年発売のX68030に合わせてリリースされたSX-Window Ver.3よりグラフィックウィンドウ(「GRW.X」)導入によって最大512×512ドット、65536色を出せるようになった。これはGUI部分をテキスト画面で描画し、グラフィック部をグラフィック画面でウィンドウを描画しているところに、従来はテキストグラフィック双方の解像度を合わせてグラフィック部分も16色に制限されていたものを、テキスト画面とグラフィック画面の画面モードを変えて重ねることでグラフィックウィンドウ内部のみを65536色モードに変えることが可能になった。X68000の持つCRTCの柔軟さが生かされている。
ファイルシステムはHuman68kと同一である。