TurboDOSは、 Software 2000 Inc.によって開発されたZ80および8086 CPU向けのマルチユーザーCP/Mライクなオペレーティングシステムです。[ 1 ]
TurboDOSの最も珍しい特徴は、マルチプロセッサである点です。当時の他のオペレーティングシステムでは、プロセッサ間のネットワーク接続は後付けの機能であったり、ファイル転送プロトコルのみをサポートしていたりしましたが、TurboDOSは最初からマルチプロセッサオペレーティングシステムとして設計されました。[ 2 ]
モジュール構造になっており、オペレーティングシステムの生成は、再配置、リンク、ローダー プログラムに基づいています。[ 3 ]これにより、特に TurboDOS システムで一般的に使用されていたIEEE-696 (S-100) バスなどのバス指向マシンでは、さまざまなハードウェアドライバモジュールの組み込みが非常に容易になります。
TurboDOS の開発は 1980 年に開始されました。1981 年 4 月にS-100 バスベースのシステム向けにリリースされました。[ 4 ] : 1.5最も著名な採用者の 1 つはNorth Star Computersで、同社は1984 年より TurboDOS をオプションとしてHorizon マイクロコンピュータに搭載して出荷しました。 [ 5 ] TurboDOS をサポートするマイクロコンピュータを製造していた他の大手メーカーには、 TeleVideo、NCR、Philips、Advanced Digital Corporation、Ohio Scientificなどがあります。[ 6 ] [ 7 ]
TurboDOSは非常にモジュール化されており、再配置可能な形式で配布される40以上の独立した機能モジュールで構成されています。[ 2 ] [ 4 ]: 10-7これらのモジュールは、さまざまな方法で組み合わせて互換性のあるオペレーティングシステムのファミリーを作成できる「構成要素」です。[ 2 ]
TurboDOS の構成例は次のとおりです。[ 3 ]
これらの各カテゴリーには、数多くの微妙なバリエーションが存在する可能性がある。[ 3 ]
TurboDOS のアーキテクチャは、3 レベルの階層構造として見なすことができます。階層構造の最上位レベルはプロセスレベルです。TurboDOS はこのレベルで多数の同時実行プロセスをサポートできます。階層構造の中間レベルはカーネルレベルです。カーネルは 93 個の C 関数と T 関数をサポートし、プロセッサ時間、メモリ、周辺機器、ディスク ファイルなどのコンピュータ リソースの共有を制御します。プロセスはエントリポイント モジュール OSNTRY を介してカーネルに要求を行い、OSNTRY は各 C 関数と T 関数を番号でデコードし、適切なカーネル モジュールを呼び出します。[ 3 ]
C言語の機能には、CP/M BDOS機能と選択されたMP/M機能が含まれます。[ 3 ]
階層の最下位レベルはドライバレベルであり、TurboDOSを特定のハードウェアに接続するために必要なデバイス依存ドライバがすべて含まれています。コンソール、プリンタ、ディスク、通信チャネル、ネットワークインターフェイスなど、すべての周辺機器用のドライバを提供する必要があります。[ 3 ]
リアルタイムクロック(またはその他の周期的な割り込みソース)およびバンク切り替えメモリ(該当する場合)にもドライバが必要です。 [ 3 ]
TurboDOSは、ほぼあらゆる種類の周辺機器と連携できるように設計されています。割り込み駆動型のDMAインターフェースで最も効率的に動作しますが、ポーリング方式やプログラム方式のI/Oデバイスでも問題なく動作します。
TurboDOSローダーOSLOAD.COMは、カーネルとドライバの短縮版を含むプログラムです。その目的は、システムのコールドスタート時にディスクファイル(OSSERVER.SYS)から完全なTurboDOSオペレーティングシステムをメモリにロードすることです。[ 3 ] [ 8 ]
機能モジュールは再配置可能なフォーマット(.REL)で配布され、GENコマンドはシステムの実行可能バージョンをビルドする特殊なリンカーです。[ 3 ]
TurboDOSには「常駐」コマンドはありません。すべてのコマンドは実行ファイルです。標準コマンドは次のとおりです。[ 3 ]