Human68k
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Human68kとは、1986年にシャープが自社のパソコン、X68000用として、ハドソンと共同開発したオペレーティングシステムである。
目次 |
[編集] 概要
MC68000を搭載した主に欧米圏のコンピュータは、主にビジネスユースに特化した当時の86系コンピュータと比較して一般的にグラフィック機能などの表現力に優れるものが多く、これらの68系CPUを搭載したコンピュータに搭載されるOS環境もまたそれらの性質を反映したグラフィカルなものやマルチタスクに対応した製品が登場したが、当時の水準ではきわめて強力な表現力を持つX68000の標準OS環境であるHuman68kは、それらの先進的な環境とは対照的に、単にインターフェイスのルック&フィールのみならず、その構造までもがマイクロソフトのMS-DOSに酷似していた。(当時としても原始的で退屈と言わざるを得ない代物であった、という意見もある。)
原始的なシングルタスクOSであるが、後にバックグランドプロセスとしてマルチスレッドがサポートされた。ただしバックグランドとされている通り、コンソールまでマルチではない。
グラフィカルなシェル環境として当初はビジュアルシェル、のちにSX-Windowが開発され付属したが、10〜16MHz程度の68000には荷が重く、対応する市販アプリケーションもシャープ製品以外はほとんど現れず、普及することは無かった。
X680x0シリーズ全機種に標準付属しており、独立パッケージも発売されていたが、市販アプリケーションの起動ディスクや雑誌の付録FDにもプリインストールされているなどほとんどパブリックドメインに近い扱いがなされており、X680x0シリーズ発売終了後の2000年に正式に無償公開された。 Ver3.02が最終である。
[編集] Human68kの特徴
Human68kは、ストレージのファイルシステムにはMS-DOSのFAT12/16を応用し(但し完全な互換性は無い)、システムコールのファンクションナンバーも概ねMS-DOSに倣うなど、バイナリ・ソースとも互換性は無いものの、その構造は明らかにMS-DOSを模倣したものであり、当時としても技術的には特に見るべきもののない、退屈な(言い方を変えるなら、無難で開発工数の削減を目的とした、シンプルな)出自と構造であった。
システムの構成も、MS-DOSと酷似する。 MS-DOSのシステムファイルはI/OサブシステムIO.SYSとカーネルMSDOS.SYSで構成されるが、単一アーキテクチャをターゲットとしたHuman68Kでは異なるアーキテクチャへの移植を全く考慮する必要が無かったため、またI/OサブシステムはそのほとんどがROMで搭載されたIOCSによってまかなわれていた事もあり、IO.SYSに相当するモジュールは存在しない。 (IOCSのバグをパッチしたり、アクセスの遅いROM上のIOCSをメモリ上にコピーして高速化したり、アルゴリズムを改善して処理を高速化するパッチなどが、デバイスドライバの形としては存在した)
Human68kのコマンドインタプリタはCOMMAND.Xであり、MS-DOSのCOMMAND.COMに相当する。
MS-DOS環境では、このCOMMAND.COMを含め、実行バイナリのロード時にバイナリをリロケートする必要がない(これはセグメント+相対アドレスによって実メモリ空間にアクセスする86系のアドレッシングアーキテクチャに起因し、そのデメリットのみが喧伝されがちであった16bit(64KB)幅のセグメント内相対アドレス空間の制約とトレードオフの関係にある、重要なメリットであった)が、COMMAND.Xを始めとするアプリケーションやコマンド等の非リロケータブルバイナリでは実行前にリロケート処理を行う必要があるため、特にチャイルドプロセスなどでこのCOMMAND.Xが頻繁にロードされる際のオーバーヘッドは無視できないものであった。
このため、後にリロケータブルバイナリ化されたCOMMAND.Rがフリーソフトとして開発された他、COMMAND.Xに実行ファイルのバインド機能が対応された際には常駐部とインターフェース部に別れバインドされた物に替わり、チャイルドプロセスでの起動の場合は不要部をメモリ上にロードする必要がなくなる等といった泥縄的な対策も取られたが、実行速度およびメモリ効率に劣るリロケータブルバイナリを用いるか、ロード毎にリロケート処理を発生させるか(そのオーバーヘッドをどの程度軽減できるか)の選択肢が存在するのみであり、本質的に解決されることは遂に無かった。
デバイスドライバの組み込みにも、MS-DOSと同様にCONFIG.SYSファイルへの記述が必要であり、その書式もMS-DOSに倣う繁雑で難解なものであるが、後のバージョンではMS-DOSに実装された選択起動などの機能を独自に拡張して実装するなど、MS-DOSの進歩に合わせた拡張も行われた。
MC68000のリニアアドレッシングを活かし、12MBまでのメモリを一括して管理することができた。ただし、12MB以上の領域はメモリマップドI/OやVRAM等の領域として確保されていたため、MS-DOS環境における640KBや768KBの制限と同様、ユーザーエリアとして使用することはできない。 またバンクメモリなども製品として存在しなかったため、RAMディスクなどを確保した際にはユーザーエリアの使用領域がそのまま奪われるといったデメリットも存在した。
[編集] 拡張子
MS-DOSの標準拡張子と比較し、以下の点が異なる。
- 非リロケータブル実行可能ファイル
- .COM - .R
- リロケータブル実行可能ファイル
- .EXE - .X
- アドレス指定実行可能ファイル
- 無し- .Z
[編集] ファイルシステムの論理構造
MS-DOSのFAT 12/16ファイルシステムを元に独自拡張したもので、ファイル名に小文字も使用可能(Microsoft WindowsのVFATと互換性はない)。FATでは未使用の部分を使ってファイル名の長さを18文字+拡張子3文字の計21文字まで拡張している。MS-DOSと違ってFATを二重に記録していない。
カテゴリ: オペレーティングシステム | ハドソン | シャープ | コンピュータ関連のスタブ項目