Human68k:X68000を彩ったOS
Human68kは、1986年に
シャープが自社のパソコン
X68000シリーズ向けに、
ハドソンと共同で開発した
オペレーティングシステムです。当時としては高性能なグラフィック機能を持つ
X68000の標準OSとして、その性能を支えました。
Human68kは、
MC68000プロセッサを搭載した
コンピュータで利用されていた他のOSとは異なり、
MS-DOSに非常に近い構造を持っていました。インターフェースの外観だけでなく、システムの内部構造も
MS-DOSを模倣しており、
ファイルシステムにはFAT12/16をベースにした独自拡張版を採用しています。
システムコールも
MS-DOSに準拠するなど、バイナリレベルでの互換性はないものの、その設計思想は
MS-DOSに強く影響を受けていました。
シングルタスクからマルチスレッドへ
当初、Human68kはシングルタスクのOSでしたが、後にバックグラウンドプロセスとしてマルチスレッドがサポートされました。ただし、コンソール自体はマルチスレッドではなく、あくまでバックグラウンド処理に限られていました。標準のシェル環境としては「コマンドシェル」が存在し、マウス操作にも対応していました。グラフィカルシェルとしてはビジュアルシェルやSX-Windowが開発されましたが、当時の
X68000のCPU性能では動作が重く、普及には至りませんでした。
UNIX風シェルとしては、tcshをベースにした「fish.x」がフリーソフトとして公開されています。
普及と無償公開
Human68kはX680x0シリーズ全機種に標準で付属しており、単体パッケージも販売されました。また、市販アプリケーションや雑誌の付録にもプリインストールされるなど、広く利用されていました。X680x0シリーズの販売終了後、2000年には正式に無償公開されました。最終バージョンはVer.3.02です。
Human68kは、
ファイルシステムに
MS-DOSのFAT12/16を応用しましたが、完全な互換性はありません。ファイル名に小文字が使用可能であり、FATの未使用領域を拡張してファイル名の長さを18文字+拡張子3文字の計21文字まで拡張しています。
MS-DOSのようにFATを二重に記録していません。
システム構成も
MS-DOSに似ており、コマンドインタプリタはCOMMAND.Xで、
MS-DOSのCOMMAND.COMに相当します。ただし、コマンドは
MS-DOSよりも改善されていました。
MS-DOSでは、実行バイナリのロード時にリロケート処理が必要ありませんでしたが、Human68kではリロケート処理が必要でした。このオーバーヘッドを解消するため、リロケータブルバイナリ化されたCOMMAND.Rや、実行ファイルのバインド機能が導入されました。
デバイスドライバの組み込みにはCONFIG.SYSファイルが必要で、その書式も
MS-DOSに倣った難解なものでしたが、後のバージョンでは選択起動などの機能が独自に拡張されました。
Human68k Ver.2.0以降では、擬似
マルチタスクやシェアロック機能が搭載され、バックグラウンドタスクとしてタイムシェアリングによるマルチスレッドがサポートされました。ただし、コマンドシェルからのマルチプロセス実行はあまり普及せず、SX-Windowでのイベントドリブン式
マルチタスクの採用によって、
マルチタスクが広く利用されるようになりました。SX-Window Ver.3.0からはコンソールウィンドウによるマルチコンソールも可能になりました。
メモリ管理
Human68kは、
MC68000の16MBリニアアドレッシングを活かし、
X68000のメインメモリ空間である12MBまでを一括管理できました。これにより、
MS-DOSのようにメモリの制約に苦しむことなく、増設したメモリを自由に利用できました。RAMディスクなどの利用でユーザーエリアが減少するデメリットはありましたが、後に自由に使用メモリを確保・開放できるRAMディスクドライバが登場しました。また、先頭から8KB単位で2MBまでの領域をスーパーバイザーエリアとして保護することで、システム領域をアプリケーションの暴走から保護することができました。
拡張子の違い
MS-DOSと比較して、Human68kでは以下の拡張子が異なっています。
実行ファイル:.X
デバイスドライバ:.DRV
* 設定ファイル:.SYS
Human68kは、
X68000の歴史と共に歩んだ重要な
オペレーティングシステムであり、その構造や機能は、当時の技術水準を示す貴重な資料となっています。