マルチユーザーDOSは、 IBM PC互換マイクロコンピュータ向けのリアルタイムマルチユーザーマルチタスクオペレーティングシステムです。
旧来のConcurrent CP/M-86、Concurrent DOS、Concurrent DOS 386オペレーティングシステムの進化形であるこのシステムは、元々はDigital Researchによって開発され、 1991 年にNovellによって買収され、さらに開発されました。[ 1 ] [ 2 ] [ 3 ]その祖先は、初期の Digital Research の8 ビットオペレーティングシステムCP/MおよびMP/M、そしてCP/M から進化した16 ビットシングルタスクCP/M-86にあります。
1992年にノベルがマルチユーザーDOSの開発を中止した際、3つの主要な付加価値再販業者(VAR)であるDataPac Australasia、Concurrent Controls [ 4 ]、Intelligent Micro Software [ 5 ]が事業を引き継ぎ、Datapac Multiuser DOSおよびSystem Manager、CCI Multiuser DOS、IMS Multiuser DOSおよびREAL/32へと独立して開発を継続することが認められた。[ 5 ]
Concurrent DOS 286およびConcurrent DOS 68Kから発展したFlexOSシリーズは、1994年7月にIntegrated Systems , Inc.(ISI)に売却された。
CP/M-86 1.0の初期バージョン(BDOS 2.x搭載)は、 1982年にIBM PC向けに改良され、発売された。しかし、 IBMのPC DOS 1.0がほぼ同等の機能をより低価格で提供していたため、商業的には成功しなかった。PC DOSもCP/M-86も、新しい16ビットマシンの性能と機能を十分に引き出すことはできなかった。
1981年9月以降、 CP/Mのマルチタスク機能を搭載した上位機種であるMP/M-86 2.0がすぐに導入され、その機能が補完されました。これにより、PCはシリアルポートで接続されたダム端末を使用して複数の同時ユーザーをサポートできるマルチユーザーマシンへと進化しました。各ユーザーに提示される環境は、まるでコンピュータ全体を自分専用に使っているかのような感覚を与えました。端末は当時の高額なPC本体価格のほんの一部で入手できたため、大幅なコスト削減につながりました。また、PCネットワークがまだ普及しておらず、非常に高価で実装も困難だった時代に、会計や在庫管理といったマルチユーザーによるデータ共有アプリケーションを容易に実現することができました。
CP/M-86 1.1 ( BDOS 2.2 付き) と MP/M-86 2.1 が統合され、1982 年後半に BDOS 3.0 付きの Concurrent CP/M-86 3.0 (CCP/M-86 とも呼ばれる) が作成されました。[ 6 ] CP/M-86 のプロジェクト マネージャーであったKathryn Strutynskiは、Concurrent CP/M-86 のプロジェクト マネージャーでもありました。その設計者の 1 人は Francis "Frank" R. Holsworth でした。 [ 7 ] [ 8 ]当初、これは最大 4 つの (デフォルト構成で) CP/M-86 互換プログラムの真のマルチタスクをサポートするシングル ユーザー オペレーティングシステムでした。前身と同様に、マルチ プロセッササポート用に構成することができ (Concurrent CP/M-86/80 などを参照)、また、オペレーターが複数の相互作用するプログラムを切り替えることができる「仮想画面」も追加されました。[ 6 ]後のバージョンでは、CP/M-86 マシンに接続されたダム端末をマルチユーザーシステムとしてサポートしました。Concurrent CP/M-86 3.1 (BDOS 3.1) は 1984 年 2 月 21 日に出荷されました。[ 9 ]
1984年2月、Digital ResearchはIBMパーソナルコンピュータおよびパーソナルコンピュータXT向けに、ウィンドウ機能を備えたConcurrent CP/M-86のバージョンであるConcurrent CP/M with Windowsも提供した。[ 10 ]
これは、LSI-M4、LSI Octopus [ 11 ]、および CAL PC コンピュータ向けに Concurrent CP/M-86 を適応させたものでした。これらのマシンには 16 ビットと 8 ビットの両方のプロセッサが搭載されていました。これは、16 ビット パーソナル コンピューティングの初期には、8 ビット ソフトウェアの方が入手しやすく、対応する 16 ビット ソフトウェアよりも高速に動作することが多かったためです。Concurrent CP/M-86/80 では、ユーザーは CP/M (8 ビット) アプリケーションと CP/M-86 (16 ビット) アプリケーションの両方を実行できました。コマンドが入力されると、オペレーティングシステムは、実行可能ファイルの拡張子が.COMか.CMDかに応じて、8 ビット プロセッサまたは 16 ビット プロセッサのいずれかで対応するアプリケーションを実行しました。CP/Mシステム コールをCP/M-86 システム コールに変換することで、8 ビット プログラム用の CP/M 環境をエミュレートし、その後、16 ビット プロセッサで実行しました。[ 6 ]
1983 年 8 月、ブルース・スキッドモア、レイモンド・D・ペドリゼッティ、デイブ・ブラウン、ゴードン・エドモンズが協力して PC-MODE [ 12 ]を作成しました。これは Concurrent CP/M-86 3.1 [ 13 ] [ 14 ] (BDOS 3.1 付き)のオプション モジュールで、 PC DOS 1.1 (およびMS-DOS 1.1 )との基本的な互換性を提供するものです。 [ 14 ]これは1983 年 12 月にCOMDEXで一般公開され[ 12 ]、1984 年 3 月に Concurrent DOS 3.1 (別名 CDOS with BDOS 3.1) としてハードウェア ベンダーに出荷されました。[ 15 ] [ 16 ]画面や他のハードウェアに直接アクセスしないシンプルな DOS アプリケーションを実行することができました。例えば、PKZIPのようなコンソールプログラムは完璧に動作し、CP/MネイティブのARCアーカイバよりも多くの機能を提供していたが、 DOS用のワードプロセッサであるWordStar のような画面操作を行うアプリケーションは動作せず、ネイティブのConcurrent CP/M(またはCP/M-86)バージョンが必要だった。
Concurrent DOS 3.1から4.1までは米国で開発されましたが、OEMの適応とローカライズは1983年以来、英国ニューベリーにあるDR EuropeのOEMサポートグループによって行われました[ 17 ]。
デジタルリサーチは1985年に、GEMを搭載したConcurrent DOS 4.1をIBMのTopViewの代替品として位置づけた。 [ 18 ]
1984年にリリースされたConcurrent DOS 3.2(BDOS 3.2を含む)は、CP/M-86 1.x、Concurrent CP/M-86 3.x、およびPC DOS 2.0のアプリケーションと互換性がありました。[ 17 ]これは、さまざまなハードウェア プラットフォームで利用可能でした。IBM-PC互換のBIOS/XIOSを搭載したバージョンは、Concurrent PC DOS 3.2と名付けられました。Kathryn Strutynskiは、Concurrent PC DOSのプロダクト マネージャーでした。
1984 年以来Motorolaとの協力の一環としての取り組み[ 19 ] [ 14 ]により、 C言語で書かれたCP/M-68Kの後継として、テキサス州オースティンで Concurrent DOS 68K が開発されました。その主要な設計者の 1 人は Francis "Frank" R. Holsworth (イニシャルの FRH で知られています) でした。[ 7 ] [ 8 ] Concurrent DOS 68K 1.0 は 1985 年初頭に OEM 評価用に利用可能になりました。[ 20 ] [ 21 ]この取り組みは Motorola から数百万ドル相当の相当な資金提供を受け[ 20 ] 、同社の68000 / 68010プロセッサ向けに設計されました。68000 プロセッサ向けの以前のGEMDOSシステムと同様に、最初は Motorola VME /10 開発システムで動作しました。[ 14 ] Concurrent DOS 68K 1.20/1.21 は 1986 年 4 月に利用可能になり、[ 22 ] [ 23 ] [ 24 ]約 100 万ユーロで提供されました。 OEMには20万ドル。 [ 20 ]このシステムは1986年後半にFlexOS 68Kへと進化しました。
既知のバージョンは以下のとおりです。
Concurrent DOS 68K の取り組みと並行して、 Digital Research は1985 年 1 月にIntelと協力してConcurrent DOS 286 [ 25 ]のプレビューも行いました。これは、Digital Research が 1982 年以来取り組んできたMP/M-286および Concurrent CP/M-286 をベースにしていました。[ 26 ] [ 27 ]
Concurrent DOS 286 は、静的 BIOS や XIOS の代わりに動的にロード可能なデバイス ドライバを備えた新しいシステム アーキテクチャに基づいてC 言語で完全に書き直されたものでした。 [ 25 ]その主要な設計者の 1 つは Francis "Frank" R. Holsworth でした。[ 7 ] [ 8 ]このオペレーティングシステムは厳密に80286ネイティブ モードのみで動作し、8086 エミュレーションを実行しながら保護モードでのマルチ ユーザー、マルチ タスク操作を可能にします。[ 28 ] [ 25 ]これはプロトタイプ チップ サンプルの B-1ステップでは機能しましたが、4 月にすでに評価版のオペレーティングシステムを出荷していた Digital Research は、5 月にプロセッサの量産レベルの C-1 ステップでのエミュレーションに問題を発見し、Concurrent DOS 286 が保護モードで8086ソフトウェアを実行できないことが判明しました。Concurrent DOS 286 のリリースは 5 月下旬に予定されていましたが、Intel がチップの新しいバージョンを開発できるまで延期されました。[ 28 ] 8月に、Digital Researchは、80286のE-1ステップサンプルを広範囲にテストした後、Intelが文書化された286のすべてのエラーを修正したが、E-1ステップで実行されているConcurrent DOS 286のプレリリースバージョンに文書化されていないチップパフォーマンスの問題がまだあると述べた。Intelは、Digital Researchが保護モードで8086ソフトウェアをエミュレートするために取ろうとしたアプローチは元の仕様とは異なっていたが、それでもDigital Researchがエミュレーションモードをはるかに高速に実行できるように、マイクロコードに小さな変更をE-2ステップに組み込んだ( LOADALLを参照)。[ 29 ] [ 23 ]これらの同じ制限は、1986年以来カリフォルニア州モントレーにあるDigital Researchの新しいFlexible Automation Business Unitによって開発されたConcurrent DOS 286の再設計された派生版であるFlexOS 286バージョン1.xにも影響した。[ 30 ] [ 31 ]
後のバージョンでは、PC DOS 2.xおよび3.xとの互換性が追加されました。
既知のバージョンは以下のとおりです。


OEMサポートグループは、 1986年に英国ハンガーフォードに新設されたデジタルリサーチの欧州開発センター(EDC)に移転し、Concurrent DOS 4.11以降、 DOS Plusや後継バージョンなどの兄弟バージョンを含むConcurrent DOSファミリーのさらなる開発を引き継ぎました。
英国ハンガーフォードで開発されたバージョン5および6(Concurrent DOS XM、XMはExpanded Memoryの略)は、最大8MBのEEMSをバンク切り替えすることで、複数のCP/M-86およびDOSプログラムを同時に実行できるリアルモード環境を提供し、最大3人のユーザー(ローカルユーザー1人とシリアル端末経由で接続された最大2人)をサポートすることができました。
1987 年、Concurrent DOS 86 は Concurrent DOS 386 に書き換えられました[ 33 ] 。これは、依然として古典的な XIOS および BDOS アーキテクチャの継続でした。これは、 Intel 80386以降のプロセッサを搭載したマシンで動作し、386 のハードウェア機能を使用してハードウェアを仮想化することで、ほとんどの DOS アプリケーションを Concurrent DOS 386 上で変更せずに実行できるようにしました。端末上でも同様でした。この OS は同時マルチユーザー ファイル アクセスをサポートし、マルチユーザー アプリケーションをネットワークサーバーに接続された個々の PC 上で実行できるようにしました。Concurrent DOS 386 では、高価なワークステーションや当時高価だったネットワーク カードがなくても、単一のサーバーでダム 端末や端末エミュレーション ソフトウェアを実行する安価な低スペック PC 上の多数のユーザーをサポートできました。これは真のマルチユーザー システムであり、複数のユーザーがレコード ロックを使用して相互干渉を防ぐ単一のデータベースを使用できました。[ 34 ] [ 35 ]
Concurrent DOS 386 は約 200K の従来型メモリを使用し、これは MS-DOS よりはるかに多い。BYTEは、ソフトウェアの最小要件が 512K RAM であるため「システムプロンプトを眺めることしかできない」と述べ、基本の 640K に加えて 1MB RAM があれば、 Microsoft WordやMultiplanなどの 3 つの主要アプリケーションを使用できると推定した。[ 36 ]
Concurrent DOS 6.0は、そこから派生したDR DOSファミリーの出発点でもありました。
既知のバージョンは以下のとおりです。
Concurrent PC DOS XM 5.0 は IBM PC DOS 2.10 をエミュレートしたが、[ 44 ] Concurrent DOS XM 6.0 と Concurrent DOS 386 2.0 は IBM PC DOS 3.30 と互換性があった。[ 45 ]
BYTE誌は1988年にConcurrent DOS 386をMS-DOSと「実質的に互換性がある」と評した。例えば、 Microsoft Word 3.1は動作したが、4.0は文書化されていないDOS関数を使用していたため動作しなかった。同誌は、同時実行アプリケーションの数に比例してパフォーマンスが低下すると報告した。より多くのRAMを必要とする一方で、BYTE誌はビデオI/OがDOSの2倍の速さであることを発見した。同誌は、「より大きく、より優れた」386オペレーティングシステムが登場するだろうが、Concurrent DOS 386は「今日ここにあり、すぐに使用できる」と結論付けた。[ 36 ]
Concurrent Controls, Inc.による既知のCCI Concurrent DOS適応版には以下が含まれます。
その他の適応例は以下のとおりです。
Concurrent DOS 386 の後のバージョンでは、DR の後のシングルユーザー PC DOS クローンであるDR DOS 5.0の拡張機能の一部が組み込まれ、その後、1991 年のバージョン 5.0 (BDOS 6.5 を含む) から、より分かりやすい名前の「マルチユーザー DOS」(別名 MDOS) が付けられました。[ 51 ]
マルチユーザーDOSは、PC DOSベースのLANと競合する能力を制限するいくつかの技術的な制約を抱えていました。PC DOSのドライバはマルチユーザーやマルチタスクに対応していなかったため、多くの一般的なハードウェアに対して独自の専用デバイスドライバが必要でした。ドライバのインストールは、PC DOSのようにファイルをブートディスクにコピーしてCONFIG.SYSを適切に変更するだけの単純な方法よりも複雑で、SYSGENコマンドを使用してマルチユーザーDOSカーネル(「核」と呼ばれる)を再リンクする必要がありました。
マルチユーザーDOSは、ネットワークスタックなどの一般的なPC DOSアドオンの多くを使用できず、グラフィックアダプタ、サウンドカード、CD-ROMドライブ、マウスなど、PC互換の世界における後期の開発をサポートする能力も限られていました。これらの問題の多くはすぐに解決されましたが(例えば、ユーザーがCGA、EGA、VGAソフトウェアを使用できるグラフィカル端末が開発されました)、この点では個々のPCのネットワークよりも柔軟性に欠け、PCの価格が下がるにつれて競争力は低下していきました。ただし、管理と総所有コストの削減という点では依然として利点がありました。マルチユーザーオペレーティングシステムであるため、当然ながらシングルユーザーシステムよりも価格が高く、QuarterdeckのDESQviewのようなシングルユーザーマルチタスクDOSアドオンとは異なり、特別なデバイスドライバが必要でした。MP/Mとは異なり、シングルユーザーでありながらマルチタスク用途で人気が出ることはありませんでした。
ノベルが1991年にデジタルリサーチを買収し[ 1 ] [ 2 ] [ 3 ]、1992年にマルチユーザーDOSを放棄した際、3つのマスターVARであるDataPac Australasia、Concurrent Controls [ 4 ]、Intelligent Micro Software [ 5 ]は、1994年にシステムのソースコードのライセンスを取得し、派生版の独立した開発を引き継いで継続することが許可されました。
既知のバージョンは以下のとおりです。
Digital ResearchおよびNovell DR Multiuser DOSのすべてのバージョンは、自身を「IBM PC DOS」バージョン3.31として報告した。
DataPac Australasia Pty Limited が発表した既知のバージョンは以下のとおりです。
1997年、DatapacはCitrix Systems, Inc.に買収され、[ 55 ] [ 56 ] [ 57 ] System Managerはその後すぐに廃止された。2002年、シドニーを拠点とする部門はCitrixのAdvanced Products Groupにスピンオフされた。[ 58 ]
Concurrent Controls, Inc. (CCI) による既知の CCI マルチユーザー DOS バージョンは以下のとおりです。
CCI Multiuser DOS のすべてのバージョンは、自身を「IBM PC DOS」バージョン 3.31 と報告します。[ 59 ] DOSのSETVERと同様に、これは Multiuser DOS DOSVER x.yユーティリティを使用して変更できます。[ 59 ]
1999年、CCIは社名をApplica, Inc.に変更した[ 60 ]。 2002年、Applica TechnologyはAplycon Technologies, Inc.となった[ 61 ]。
IMSマルチユーザーDOSの既知の派生版には以下が含まれる。
IMS Multiuser DOSのすべてのバージョンは、「IBM PC DOS」バージョン3.31として自己報告します。

英国サッチャムのインテリジェント・マイクロ・ソフトウェア社(IMS)は、1994年にノベルからマルチユーザーDOSをさらに開発するためのライセンスを取得し、1995年に製品名をREAL/32に変更した。[ 5 ]
FlexOS / 4690 OSと同様に、IBM は 1995 年に REAL/32 7.50 のライセンスを取得し、それを 4695 POS 端末にバンドルしました。[ 5 ]
IMS REAL/32 バージョン:
REAL/32 7.50 から 7.74 は「IBM PC DOS」バージョン 3.31 と報告するが、7.80 以降はバージョン 6.20 と報告する。LBAとFAT32のサポートは 1999 年に REAL/32 7.90 で追加された。 [ 65 ] 2002 年 4 月 19 日、Intelligent Micro Software Ltd. は破産を申請し、主要顧客の 1 つです、Barry Quittenton の Itera Ltd.に買収された。 [ 69 ] [ 70 ] [ 71 ]この会社は 2006 年 3 月 28 日に解散した。[ 72 ] [ 73 ] 2010 年時点で REAL/32 は英国 Thatcham の Integrated Solutions によって供給されていたが、同じ住所の会社は後にビルダーとしてリストされた。[ 68 ]
REAL/NGは、IMSがREAL/32の「次世代」を作ろうとした試みであり、「インターネット時代のREAL/32」とも呼ばれた。REAL/NGは「PCからx86マルチプロセッササーバーシステムまで、ハードウェアの範囲を拡大する」ことを約束した。[ 74 ]
2003年時点での宣伝されている機能一覧:[ 75 ]
2003年12月10日までに、IMSは「REALNG V1.60-V1.19-V1.12」を公開した[ 76 ]。これはインターネットアーカイブに基づくと、最新のリリースと思われる。
2005年までに、realng.comのウェブサイトはIMSのメインウェブサイトをミラーリングしており、REAL/NGについては何も言及されておらず、REAL/32のみが記載されていた。[ 77 ]
このオペレーティングシステムの様々なリリースでは、DOSプログラムを実行する能力が向上していきましたが、このプラットフォーム向けに作成されたソフトウェアは、マルチユーザー操作に特化した関数呼び出しを使用することで、その機能を活用することができました。プリエンプティブマルチタスクを採用することで、プロセッサの制御を維持したまま、不適切なアプリケーションが他のプロセスを遅延させるのを防いでいました。現在でも、マルチユーザーDOSはwolfSSLなどの人気のあるSSL/TLSライブラリでサポートされています。
APIは、ブロッキングおよびノンブロッキングのメッセージキュー、相互排他キュー、親プロセスとは独立して実行されるサブプロセススレッドの作成機能、そしてシングルユーザーオペレーティングシステムで使用されるアイドルループとは異なりプロセッササイクルを無駄にしない実行一時停止方法をサポートしていました。アプリケーションはコンソールに「接続」された状態で起動されました。ただし、アプリケーションがユーザーとのやり取りを必要としない場合は、コンソールから「切り離し」、バックグラウンドプロセスとして実行し、必要に応じて後でコンソールに再接続することができました。
もう一つの重要な特徴は、メモリ管理がプロセス向けの「共有」メモリモデルをサポートしていたことである(通常のDOSプログラムで利用可能なモデルに加えて)。共有メモリモデルでは、プログラムの「コード」部分と「データ」部分が互いに分離されていた。「コード」部分には変更可能なデータが含まれていないため、メモリ内のコード部分は同じプログラムを実行する複数のプロセスで共有でき、メモリ要件を削減できた。
マルチタスクプラットフォーム向けに作成または改変されたプログラムは、シングルタスク システムで使用される、たとえばユーザーがキーを押すのを待つときに中断されるまで無限ループに入る手法を避ける必要があります。これは、他のプロセスで使用できるプロセッサ 時間を無駄にします。代わりに、Concurrent DOS は、プロセスが一定期間「スリープ」するために呼び出すことができる API コールを提供しました。Concurrent DOS カーネルの後のバージョンには、DOS APIコールを監視してアプリケーションが有用な作業を行っているか、実際にはアイドル状態であるかを判断するアイドル検出機能が含まれており、アイドル状態の場合はプロセスが中断され、他のプロセスが実行できるようになりました。アイドル検出は、1989 年に Roger Alan Gross と John P. Constant によって発明され、BatteryMAXとして販売された特許取得済みのDR-DOS Dynamic Idle Detection電源管理機能のきっかけとなりました。[ 78 ]
{{cite newsgroup}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite newsgroup}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク){{cite journal}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)…]
Digital Researchは
286
用のオペレーティングシステムを開発中です
。MP
/M-286 は、
プロセッサのメモリ管理と保護、および仮想メモリのサポートを活用します。Digital Research は、
8086
プロセッサ用の
MP/M-86
および
CP/M-86
との「完全な」互換性を約束しています。Intel
は
、MP/M-286 の開発とテストに必要なハードウェアを Digital Research に提供しています。 […]
デジタル リサーチ
のポール ベイリーは
このアプローチを熱心に推進しています。彼の会社は、
ICL
や他の企業に Concurrent Dos-286 を供給しています。このカメレオンのようなオペレーティングシステムにより、ICL や他の
80286
メーカーは、既存の IBM-PC ソフトウェアすべてに対応できるマシンを構築できます。同時に、マルチタスク、ウィンドウ処理、真の並行処理も約束します。これら 3 つの機能により、1 つのマイクロ マシンで一度に複数の処理を実行できます。 […] 正式な発表はまだないものの、
ACTは
年末までに
Concurrent CP/M 286
マシンを発売し
、企業市場への進出を加速させることはほぼ確実視されている。しかし、その頃には
IBM
の80286オフィスマイクロPCであるPC/ATとの競争に直面することになるだろう。 […] IBMはConcurrentの競合製品を脅かす可能性のあるソフトウェア製品も開発中だ。約180KBの
TopView
は、IBM PCおよびAT向けのプログラムで、既存の「扱いやすい」標準パッケージにウィンドウ機能を提供するためにオペレーティングシステムを強化する。 […]
{{cite journal}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)[…] これは、Intel 80286 マイクロプロセッサ上で動作し、Intel オブジェクト モジュール フォーマット (OMF) を使用する Concurrent DOS 286 1.2 以降のオペレーティングシステム (以下、Digital Research の慣例により「Concurrent」と略記) 向けに実装された High C コンパイラの動作に関するガイドです。このコンパイラは、Intel 8086/88/186/188/286 ファミリのマイクロプロセッサのいずれに対してもコードを生成します。 […]
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)