| MS-DOS | |
|---|---|
![]() 現在のディレクトリがドライブ C のルートであることを示すコマンドライン インターフェイス | |
| 開発者 | マイクロソフト |
| 書かれた | x86アセンブリ[ 1 ]、後のバージョンではCも使用されました |
| OSファミリー | ドス |
| 作業状態 | 保存された部分は32ビットWindowsに存在します |
| ソースモデル | クローズドソース。バージョン 1.25、2.11、4.00 はオープンソース |
| 初回リリース | 1981年8月12日[ 2 ] (1981年8月12日) |
| 最終リリース | 8.0 ( Windows Me ) / 2000年9月14日 (2000年9月14日) |
| リポジトリ | |
| 入手可能な | 英語 |
| 更新方法 | 再インストール |
| パッケージマネージャー | なし |
| サポートされているプラットフォーム | x86 |
| カーネルタイプ | モノリシック |
| 影響を受けた | TOPS-10、CP/M |
| デフォルトのユーザーインターフェース | コマンドライン(COMMAND.COM)、テキスト(DOSシェル) |
| ライセンス | |
| 先行 | 86-DOS |
| 後継者 | Windows NT ( Windows XP以降) |
| 公式サイト | インターネットアーカイブ MS-DOS の概要 |
| サポート状況 | |
| MS-DOSバージョン1.x-7.0は2001年12月31日時点でサポート終了[ 4 ]。MS -DOSバージョン7.10および8.0は2006年7月11日時点でサポート終了。 | |
MS-DOS(/ ˌɛ m ˌɛ s ˈ d ɒ s / em-ess- DOSS ; MicroSoft Disk Operating Systemの略、 Microsoft DOSとも呼ばれる)は、主にマイクロソフトによって開発されたx86ベースのパーソナルコンピュータ用のオペレーティングシステムです。MS - DOS 、その別名であるIBM PC DOS、およびMS-DOSとの互換性を試みたいくつかのオペレーティングシステムを総称して「DOS」(ディスクオペレーティングシステムの一般的な略語でもある)と呼ばれることがあります。MS-DOSは1980年代のIBM PC互換機の主要オペレーティングシステムでしたが、その後、グラフィカルユーザーインターフェイス(GUI)を提供するオペレーティングシステム、つまりグラフィカルなMicrosoft Windowsオペレーティングシステムのさまざまな世代に徐々に取って代わられました。[ 5 ]
IBMは1981年にPC DOS 1.0としてライセンスを取得し、 IBMパーソナルコンピュータ向けにリリースしました。MS-DOSとPC DOSは当初、MicrosoftとIBMによって並行して開発されていましたが、12年後の1993年に互換性、構文、機能に明らかな違いが生じ、両製品は分離しました。[ 5 ] 1988年のDR-DOSを皮切りに、 x86プラットフォーム向けに複数の競合製品がリリースされました。[ 6 ]
当初、MS-DOSは、フロッピーディスクを使用してコンピュータハードウェア上で実行されるIntel 8086プロセッサを対象としていました。フロッピーディスクには、オペレーティングシステムだけでなく、アプリケーションソフトウェアやユーザーデータも保存およびアクセスされていました。段階的なバージョンリリースにより、より大容量でより大規模なストレージメディアのサポートが提供され、新しいプロセッサや急速に進化するコンピュータアーキテクチャ向けの機能サポートも追加されました。最終的に、MS-DOSは、プログラミング言語会社から多様なソフトウェア開発会社へのマイクロソフトの発展における中核製品となり、会社に不可欠な収益とマーケティングリソースをもたらしました。また、初期のWindowsがGUIとして動作した基礎となる基本オペレーティングシステムでもありました。MS-DOSは2000年に開発が終了するまで8つのバージョンを経て、1994年のバージョン6.22が最後のスタンドアロンバージョンとなり、バージョン7と8は主にWindows 9xをロードするためにバックグラウンドで使用されました。[ 7 ]
コマンドインタープリタCOMMAND.COM は、アプリケーションプログラムが実行されていないときに実行されます。アプリケーションが終了すると、インタープリタが再開されます(アプリケーションによって消去されていた場合は、DOSによってメモリにロードし直されます)。コマンドは、入力テキストを、現在のドライブのコマンドパスにある組み込みコマンドまたは実行可能ファイルと照合することで処理されます。コマンドとファイル名の照合では大文字と小文字は区別されませんが、インタープリタは入力パラメータの大文字と小文字を保持します。プログラムサイズが大きいコマンドや使用頻度の低いコマンドは、コマンドプロセッサプログラムのサイズを制限するために、別ファイルに分割される傾向がありました。

MS-DOSはシアトル・コンピュータ・プロダクツ が所有し、ティム・パターソンによって書かれた86-DOS [ 8 ]の名前を変更した形式である。86-DOSは基本的にデジタル・リサーチのCP/M (8080/Z80プロセッサ用)のクローンであり、 8086プロセッサで動作するように移植されており、CP/Mと比較して2つの大きな違い、つまりディスクセクターバッファリングロジックの改良と、CP/Mファイルシステムの代わりにFAT12の導入があったため、開発にはわずか6週間しかかからなかった。この最初のバージョンは1980年8月に出荷された。 [ 2 ] IBMパーソナルコンピュータ用のオペレーティングシステムを必要としていたマイクロソフトは、[ 9 ] [ 10 ] 1981年5月にティム・パターソンを雇い、同年7月に86-DOS 1.10を25,000ドルで買収した。 [ 11 ]また、IBMはMS-DOS 1.10/1.14のライセンスをIBMに供与し、1981年8月にIBM 5150またはIBM PC用の3つのオペレーティングシステム[ 12 ]の1つとしてPC DOS 1.0として提供しました。 [ 2 ]
1年以内に、マイクロソフトは70社を超える企業にMS-DOSのライセンスを供与した。[ 13 ] MS-DOSは、8086ファミリのどのコンピュータでも実行できるOSとして設計された。各コンピュータは、 CP/Mの場合と同様に、独自のハードウェアと独自のMS-DOSバージョンを持ち、MS-DOSは、異なるハードウェアプラットフォームに適応するためにCP/Mと同じソリューションをエミュレートした。このため、MS-DOSは、最小限、プライマリディスクドライブとコンソール用の内部デバイスドライバ(DOS BIOS)がカーネルに統合され、ブートローダーによってロードされ、その他のデバイス用のインストール可能なデバイスドライバがブート時にロードされ統合される、モジュール構造で設計された。OEMは、マイクロソフトが提供する開発キットを使用して、基本I/Oドライバと標準のマイクロソフトカーネルを備えたMS-DOSのバージョンを構築し、通常はハードウェアと一緒にディスクでエンドユーザーに提供する。そのため、「MS-DOS」には様々なハードウェア向けに様々なバージョンが存在し、IBM互換機(またはISA互換機)とMS-DOS互換機の間には大きな違いがあります。Tandy 2000のような一部のマシンはMS-DOS互換ではあるもののIBM互換機ではなかったため、IBM PCアーキテクチャの周辺ハードウェアに依存することなく、MS-DOS専用に書かれたソフトウェアを実行できました。
アプリケーション プログラムがデバイス I/O を実行するために MS-DOS サービスのみを使用していた場合、この設計は互換性の面で十分に機能していたでしょう。実際、同じ設計思想が Windows NT に体現されています ( 「ハードウェア抽象化層」を参照)。しかし、MS-DOS の初期の頃は、ハードウェアを直接制御することによってプログラムが達成できる高速化が特に重要であり、特に当時のハードウェアの限界に挑戦することが多かったゲームではそれが顕著でした。すぐに IBM 互換のアーキテクチャが目標となり、まもなくすべての 8086 ファミリ コンピュータがIBM のハードウェアを厳密にエミュレートするようになり、市場では固定ハードウェア プラットフォーム用の MS-DOS バージョンが 1 つだけ必要になりました。ここで説明するのは、このバージョンの MS-DOS です。他の多数の OEM バージョンの「MS-DOS」は、それぞれが設計されたシステムにのみ関連し、いずれにしても機能と性能の点で IBM PC の標準バージョンと非常に類似していました (多くの場合、同じ番号のバージョンですが、常に同じとは限りません。これは、一部の OEM が独自のバージョン番号付けスキームを使用しているためです (たとえば、MS-DOS 1.x の後継リリースを 2.0 としてラベル付けしたり、その逆を行ったりするなど))。ただし、いくつかの注目すべき例外があります。
マイクロソフトは、 UNIXベースのオペレーティングシステムであるXenixが完全にマルチユーザーであったため、MS-DOSからマルチユーザーサポートを省略しました。 [ 14 ]同社は、時間をかけてMS-DOSを改良し、モトローラ68000、ザイログZ8000、LSI-11でも動作するシングルユーザーのXenixまたはXEDOSとほとんど区別がつかないようにする計画を立てました。これらはXenixと上位互換性があり、1983年にByteは「将来のマルチユーザーMS-DOS」と表現しました。[ 15 ] [ 16 ]マイクロソフトはMS-DOSとXenixを一緒に宣伝し、「シングルユーザーOS」と「マルチユーザー、マルチタスク、UNIX由来のオペレーティングシステム」の共通機能をリストアップし、それらの間の移植が容易であると約束しました。[ 17 ]しかし、ベルシステムの解体後、AT&TコンピュータシステムズがUNIX System Vの販売を開始しました。MicrosoftはUNIX市場でAT&Tと競争できないと判断し、Xenixを放棄し、1987年にXenixの所有権をSanta Cruz Operation (SCO)に譲渡しました。
2014年3月25日、マイクロソフトはSCP MS-DOS 1.25とAltos MS-DOS 2.11とTeleVideo PC DOS 2.11の混合のコードをMicrosoft Research License Agreementの下で一般に公開した。これにより、コードはソースコードとして利用可能となったが、オープンソース・イニシアチブやフリーソフトウェア財団の標準で定義されているオープンソースではない。[ 18 ] [ 19 ] [ 20 ] [ 21 ]マイクロソフトはその後、2018年9月28日にMITライセンスの下でコードを再ライセンスし、これらのバージョンをフリーソフトウェアにした。[ 22 ]マイクロソフトはその後、2024年4月25日に同じライセンスの下でMS-DOS 4.00のコードをリリースした。[ 3 ] [ 23 ]
2015年のエイプリルフールのジョークとして、 Microsoft MobileはMS-DOS Mobileと呼ばれるWindows Phoneアプリケーションをリリースしました。これは新しいモバイルオペレーティングシステムとして発表され、MS-DOSと同様に動作します。[ 24 ]
1982年初頭、Compaq Portableの開発中に、Compaq社の技術者はMS-DOSとIBM PC DOSが同一ではなく、互換性の問題が生じていることを発見した。Microsoft社のビル・ゲイツはCompaq社のロッド・キャニオンに対し、Microsoft社とIBM社のライセンス契約では、Microsoft社は別々の開発チームを使う必要があり、コードベースが分岐している原因になっていると説明した。Microsoft社はPC DOSをCompaq社に販売することはできなかったが、2つのオペレーティングシステムが分岐する前の最後のバージョンのDOSをCompaq社に開示することはできた。Compaq社はそのバージョンのライセンスを取得し、それを使用してMS-DOSよりもPC DOSとの互換性がわずかに高いCOMPAQ-DOSを開発した。顧客が他のクローン製品で使用するためにCOMPAQ-DOSを購入するようになると、Compaq社は単体販売を中止し、秘密裏にMicrosoft社にオペレーティングシステムのライセンスを戻した。Microsoft社はMS-DOSの独自開発を中止し、Compaq社のソフトウェアを再販した。コンパックがCOMPAQ-DOSの新バージョンをリリースした数か月後にマイクロソフトにMS-DOSとして再販させることで、コンパックは常に他のクローンメーカーよりもIBM PCとの互換性をわずかに高く保った。[ 25 ]
マイクロソフトは、 Lifeboat Associatesの「Software Bus 86」[ 26 ] [ 27 ](別名SB -DOS)[ 6 ] 、COMPAQ-DOS [ 26] [ 27 ] NCR-DOSまたはZ-DOS [ 26 ] [ 6 ]など、様々な名前でMS-DOSのバージョンをライセンス供与またはリリースしていたが、最終的にはIBMのバージョンを除く全てのバージョンにMS-DOSという名前を強制した。IBMのバージョンは当初「IBM Personal Computer DOS」と呼ばれ、後にIBM PC DOSに短縮された。(競合他社は、MS-DOSアプリケーションも実行できるDR-DOSやPTS-DOSなどの互換性のあるDOSシステムをリリースした。)
PC DOSとMS-DOSのコードベースはIBM PCの登場後に分岐した。マイクロソフトは後に社内でのMS-DOSの開発を中止し、コンパックからCOMPAQ-DOSをMS-DOSとしてライセンス供与された。[ 25 ]
旧東側諸国では、 1980年代後半にDCP(ディスク制御プログラム)3.20と3.30(DCP 1700、DCP 3.3)およびWDOSと呼ばれるMS-DOSの派生版が存在した。 [ 28 ] [ 29 ] [ 30 ]これらは東ドイツの電子機器メーカーVEB Robotronによって製造された。[ 31 ]
以下のバージョンのMS-DOSが一般に公開されました: [ 32 ] [ 33 ]


信頼性が高く、バージョン3よりもメモリ使用量が少ないため人気があります。[ 39 ] IBM XT 10 MBハードディスクドライブのサポート、OEMが出荷するフォーマットツールに応じて最大16 MBまたは32 MBのFAT12形式のハードディスクドライブのサポート、[ 40 ]ユーザーがインストール可能なデバイスドライバー、ツリー構造のファイルシステム、[ 41 ] Unixライクな[ 42 ]継承可能なリダイレクト可能なファイルハンドル、[ 43 ] [ 44 ]非マルチタスクの子プロセス[ 45 ]改良されたTerminate and Stay Resident(TSR)API、[ 46 ]環境変数、デバイスドライバーのサポート、バッチファイル内のFORループとGOTOループ、ANSI.SYS。[ 47 ]


.jpg/440px-MS-DOS_6.2_Update_Install_Floppy_Discs_(German).jpg)

Microsoft DOSはOEMチャネルを通じてリリースされていましたが、Digital ResearchがDR-DOS 5.0を小売アップグレードとしてリリースしました。PC DOS 5.00.1を皮切りに、IBMとMicrosoftの契約は終了し始め、IBMはIBM DOS 5.00.1、5.02、6.00、およびPC DOS 6.1、6.3、7、2000、7.1で小売DOS市場に参入しました。

MS-DOSのローカライズ版は様々な市場向けに存在した。[ 79 ]西欧版のMS-DOSは、ローカライズされたメッセージ言語と、サポートされるコードページやキーボードレイアウトの異なるセットのみを備えた同じツールとドライバーのセットを中心に進化したが、一部の言語バージョンは西欧版と大幅に異なり、西欧のPCでは利用できない追加のBIOSサービス、ディスプレイとプリンターの複数のハードウェアコードページのサポート、DBCS、代替入力方法、グラフィックス出力のサポートを備えたローカライズされたPCハードウェアで実行できるように適合されていた。影響を受けるバージョンには、日本語(DOS/V)、韓国語、アラビア語(ADOS 3.3/5.0)、ヘブライ語(HDOS 3.3/5.0)、ロシア語(RDOS 4.01 / 5.0)および他の東ヨーロッパバージョンのDOSがある。

IBM PCとそのクローンを含む、 Intel 8086および8088プロセッサに基づくマイクロコンピュータにおいて、PC DOS/MS-DOSラインに対する最初の競合は、MS-DOSに影響を与えたCP/Mオペレーティングシステムを開発したDigital Researchであった。[ 80 ] 86 - DOSがCP/Mコードの初期バージョンから盗用されたかどうかについては論争が続いている。[ 81 ] Digital ResearchはMS-DOSから数か月後にCP/M-86をリリースし、MS-DOSおよびMicrosoftのライセンス要件の代替として提供されたが、価格は高かった。CP/M-86とMS-DOSの実行可能プログラムは互いに互換性がなく、多くのアプリケーションがMS-DOSが主流になるまでMS-DOSとCP/M-86の両方のバージョンで販売された(後のDigital ResearchオペレーティングシステムはMS-DOSとCP/M-86の両方のソフトウェアを実行できた)。 MS-DOSは当初、CP/M-80で知られる類似のバイナリ非互換形式をモデルにしたシンプルな.COMをサポートしていました。CP/M-86では、CP/M-80およびMS-DOSの.COMファイルとの名前の競合を避けるため、ファイル名拡張子.CMDを使用する再配置可能な形式をサポートしていました。MS-DOSバージョン1.0では、より高度な再配置可能な.EXE実行ファイル形式が追加されました。
MS-DOSの初期のマシンの多くは、システムアーキテクチャが異なっており、ある程度の非互換性があり、結果としてベンダーロックインが発生していました。マシンでMS-DOSを使い始めたユーザーは、ハードウェアに合わせてカスタマイズされたバージョンを使い続けるか、独自のハードウェアとソフトウェアをすべて新しいシステムで動作させるかの選択を迫られました。
ビジネスの世界では、MS-DOSが依存していた808xベースのマシンは、 Unixオペレーティングシステムとの競争に直面していました。Unixは様々なハードウェアアーキテクチャ上で動作していました。マイクロソフト自身も、 Xenixと呼ばれるPC向けのUnixバージョンを販売していました。
家庭ユーザーの台頭により、さまざまなプロセッサをベースにしたさまざまなコンピュータが IBM PC と激しい競争を繰り広げました。Apple II、Mac、Commodore 64などは 808x プロセッサを使用していませんでした。さまざまなアーキテクチャの多くの 808x マシンは、カスタムバージョンの MS-DOS を使用していました。当初は、これらすべてのマシンが競合関係にありました。標準のオペレーティングシステムコールを使用せずに PC ハードウェアと直接通信するように書かれたソフトウェアははるかに高速に動作したため、IBM PC のハードウェア構成が 808x 市場の主流となりましたが、これは真の PC 互換機でのみ実行されました。PC 非互換の 808x マシンは、専用に高速なソフトウェアを書くには市場が小さすぎたため、市場は IBM PC とそのアーキテクチャを厳密に模倣したマシンのみに開かれたままになりました。これらのマシンはすべて、PC とのみ互換性のある単一バージョンの MS-DOS か、それと同等の IBM PC DOS のいずれかを実行していました。ほとんどのクローン製品は、同様のパフォーマンスの IBM ブランドのマシンよりもはるかに安価で、家庭ユーザーに広く使用されるようになりました。一方、IBM PC はビジネスコンピュータ市場で大きなシェアを占めていました。
マイクロソフトとIBMは共同で、MS-DOS/PC DOSの後継としてOS/2の開発を開始しました。1987年にOS/2がリリースされると、マイクロソフトは「DOSは死んだ」と宣言し、バージョン4が最後のフルリリースとなることを宣言する広告キャンペーンを開始しました。OS/2は効率的なマルチタスク処理のために設計され、類似した外観と操作性を備えながら、数々の高度な機能を備えていました。そのため、OS/2は「不格好な」DOSプラットフォームの正当な後継者と見なされていました。
MS-DOSは、Microsoftの他の製品やオペレーティングシステムから多くの重要な機能を採用または複製することで、急激に成長しました。また、Norton Utilities、PC Tools(Microsoft Anti-Virus)、QEMM拡張メモリマネージャ、Stackerディスク圧縮など、独立系企業が開発したツールやユーティリティの機能を直接ライセンス供与または複製することでも、MS-DOSは成長しました。
デジタル・リサーチ社がオペレーティングシステム市場で競合していた時期、アムストラッドPC1512などの一部のコンピュータは、MS-DOSとCP/M-86またはその派生版の2つのオペレーティングシステム(同時に使用できたのはどちらか一方のみ)用のフロッピーディスクを搭載して販売されていました。デジタル・リサーチ社はDOS Plusを開発しました。これはMS-DOS 2.11と互換性があり、CP/M-86プログラムをサポートし、マルチタスクなどの追加機能を備え、CP/MおよびMS-DOS形式のディスクの読み書きが可能でした。
OS/2の開発が長期化している間、Digital Research社はMS-DOS互換のDR-DOS 5.0をリリースしました。この製品には、MS-DOSではサードパーティ製のアドオンでしか利用できない機能が含まれていました。市場シェアを少しでも失うことを望まなかったMicrosoft社は、1990年5月にMS-DOS 5.0のリリースを「保留中」と発表しました。これにより、1991年6月にMS-DOS 5.0が実際にリリースされるまで、DR-DOSの売上はほぼ壊滅しました。Digital Research社はDR-DOS 6.0をリリースし、好調な売れ行きを見せましたが、MS-DOS 6.0の「事前発表」によって再びDR-DOSの売上が停滞しました。
マイクロソフトは、DR DOS に関して業界で FUD (恐怖、不確実性、疑念) と呼ばれるものを作ろうと、MS-DOS の将来のバージョンに関するリークを巧妙に画策したとして非難されていました。たとえば、DR DOS 5.0 のリリース直後、そして最終的に 1991 年 6 月に MS-DOS 5.0 がリリースされるずっと前の 1990 年 10 月には、InfoWorldやPC Weekに MS-DOS の機能強化に関する記事が掲載され始めました。当時マイクロソフトのシステム ソフトウェア担当副社長で、Windows および MS-DOS 事業部門のゼネラル マネージャーであったBrad Silverberg は、 PC Week (1990 年 11 月 5 日) に強い書簡を送り、マイクロソフトが FUD 戦術に関与していたこと (「お客様により良いサービスを提供するために、バージョン 5.0 についてより積極的に情報を提供することにしました」) と、マイクロソフトが DR DOS から機能をコピーしたことを否定しました。
「MS-DOSバージョン5.0の機能強化は、DR DOS 5.0の発表よりずっと前から決定され、開発が開始されていました。同様の機能もいくつかあるでしょう。5000万人のMS-DOSユーザーを抱えるDRIが、顧客から私たちと同様の要望をいくつか受けてきたとしても、驚くべきことではありません。」 - (Schulman et al. 1994) [ 82 ]
マイクロソフトとIBMの間でOS/2を推進するという契約は、1990年にWindows 3.0が市場で成功を収めたことをきっかけに崩壊し始めました。マイクロソフトのOS/2への貢献の多くは、 DOSに代わる3つ目のGUIであるWindows NTの開発にも活かされました。
すでに OS/2 の次期バージョンを開発していた IBM は、Microsoft 抜きでプラットフォームの開発を継続し、それを DOS や Windows の代替として販売しました。
SuperStorディスク圧縮をバンドルしたDigital ResearchのDR DOS 6.0への対応として、マイクロソフトは最も人気のあるDOSディスク圧縮ツールであるStackerのベンダーであるStac Electronicsとの交渉を開始した。デューデリジェンスの過程で、StacのエンジニアはマイクロソフトにStackerのソースコードの一部を提示していた。StacはマイクロソフトのStackerライセンス条件を遵守することを望まず、交渉から撤退した。マイクロソフトはVertisoftのDoubleDiskのライセンスを取得し、それをDoubleSpaceディスク圧縮のコアとして使用することを選択した。[ 83 ]
1993年にリリースされたMS-DOS 6.0と6.20には、どちらもMicrosoft DoubleSpaceディスク圧縮ユーティリティプログラムが含まれていました。Stacは、DoubleSpaceで使用されている圧縮アルゴリズムに関する特許侵害でMicrosoftを訴え、勝訴しました。その結果、1994年にはディスク圧縮機能が削除されたMS-DOS 6.21がリリースされました。その後まもなく、バージョン6.22がリリースされ、ディスク圧縮システムであるDriveSpaceの新しいバージョンが搭載されました。DriveSpaceは、特許侵害コードを回避するために異なる圧縮アルゴリズムを採用していました。
1995年より前、マイクロソフトはコンピュータ製造業者に対し、プロセッサごと(販売したシステムごとの料金)、システムごと(特定モデルのシステムごとの料金)、コピーごと(インストールされたMS-DOSのコピーごとの料金)の3種類の契約でMS-DOS(およびWindows)のライセンスを供与していた。最大手のメーカーは、料金が最も安いプロセッサごとの契約を使用していた。この契約では、大手メーカーがDR-DOSなど他のオペレーティングシステムに移行するのに費用がかさんでしまった。1991年、米国政府の連邦取引委員会はマイクロソフトのライセンス手続きの調査を開始し、その結果、1994年にマイクロソフトをコピーごとのライセンスに制限する和解契約が結ばれた。この和解でデジタルリサーチ社は利益を得ず、数年後、同社の利益承継人であるカルデラ社がカルデラ対マイクロソフト訴訟でマイクロソフトを損害賠償で訴えた。和解金は約1億5000万ドルと考えられていたが、2009年11月に和解契約が発表され、2億8000万ドルであることが明らかになった。[ 84 ]
マイクロソフトは、MS-DOSやそのアプリケーション、開発ツールにおいて、純正MS-DOS(およびPC DOS)では問題なく動作するものの、他社製のDOS実装では動作しなくなるという様々な手法を採用していました。こうした手法の顕著な例としては、以下のようなものが挙げられます。


Microsoft Windowsの全バージョンには、MS-DOSまたはMS-DOS風のコマンドラインインターフェースである「 MS-DOSプロンプト」が搭載されており、これはMS-DOSへの入力とMS-DOSからの出力をMS-DOSプロンプト(または後期バージョンでは「コマンドプロンプト」)にリダイレクトするものでした。これにより、多くのDOSおよびWin32、OS/2 1.x、POSIXのコマンドラインユーティリティを同じコマンドラインセッションで実行でき、コマンド間のパイプ処理が可能になりました。ユーザーインターフェースとWindows 2000までのアイコンは、ネイティブのMS-DOSインターフェースに準拠していました。Windows NTで導入されたコマンドプロンプトは、実際にはMS-DOSではありませんが、一部のコマンドはMS-DOSと共通です。
16ビット版のWindows(3.11まで)は、 MS-DOS上でグラフィカルユーザーインターフェイス(GUI)として動作した。Windows 95、98、Meでは、MicrosoftによるとMS-DOSの役割はブートローダーに縮小され、MS-DOSプログラムは32ビットWindows内の仮想DOSマシンで動作し、ハードウェアへのリアルモードアクセスを必要とするアプリケーションのための下位互換性オプションとして、MS-DOSを直接起動する機能が保持された。これは通常Windowsでは不可能であった。[ 85 ]コマンドラインは、Windowsモジュール(WINOLDAP.MOD)を介してDOSコマンドライン(通常は)にアクセスした。 COMMAND.COM
Windows NTベースのオペレーティングシステムは、Windowsをロードしてシステムを実行することを目的としたカーネルを起動します。OS/2、UNIX、またはコンシューマ版Windowsがキャラクタモードセッションを起動できるような方法で、ローダーシステム内でWin32アプリケーションを実行することはできません。
コマンドセッションでは、Win32、MS-DOS、OS/2 1.x、POSIX でサポートされている様々なコマンドラインユーティリティを実行できます。MS-DOS、OS/2、POSIX のエミュレータは、Win16 アプリケーションが Win32 エクスプローラを使用するのと同じように、ホストのウィンドウを使用します。ホストのウィンドウを使用することで、エミュレーション間で出力をパイプできます。
MS-DOSエミュレーションはNTVDM(NT仮想DOSマシン)を介して行われます。これは、VirtualPCに類似した旧製品であるSoftPCを改造したもので、改造されたMS-DOS 5(NTIO.SYSおよびNTDOS.SYS)を実行します。出力はコンソールDLLによって処理されるため、プロンプト( 、、 )のプログラムが出力を参照できます。64ビットWindowsには、DOSエミュレーションも、 32ビットWindowsに付属する DOSコマンドのEDIT、DEBUG、EDLINも搭載されていません。CMD.EXE4NT.EXETCC.EXE
DOSバージョンは、どのAPI関数を使用して判断するかに応じて、5.00または5.50を返します。MS-DOS 5.00のユーティリティは、このエミュレーションで変更なしで動作します。NTのごく初期のベータ版プログラムではMS-DOS 30.00が表示されますが、MS-DOS 30.00で動作するプログラムはOS/2が制御していると想定します。
OS/2エミュレーションは、OS2SS.EXE、OS2.EXE、およびDOSCALLS.DLLによって処理されます。OS2.EXEはOS/2シェル(CMD.EXE)の一種で、コマンドをOS2SS.EXEに渡し、入出力をWindows NTシェルに渡します。Windows 2000は、OS/2をサポートする最後のNTバージョンでした。エミュレーションはOS/2 1.30です。
POSIX は POSIX シェルを通じてエミュレートされますが、エミュレートされたシェルはありません。コマンドは CMD.EXE で直接処理されます。
コマンドプロンプトは、しばしばMS-DOSプロンプトと呼ばれます。これは、Windows 9xおよび初期のWindows NT(NT 3.5以前)における正式名称であったこと、またSoftPCによるDOSエミュレーションの出力がこのコマンドプロンプトにリダイレクトされることに由来しています。実際には、COMMAND.COMNTVDMでは とその他の16ビットコマンドのみが によって初期化されAUTOEXEC.NT、CONFIG.NTによって初期化されます。これにより、 Win32コンソールアプリケーションや 命令による内部コマンド_DEFAULT.PIFの使用も可能になります。 NTCMDPROMPT
Win32コンソールアプリケーションは、CMD.EXEコマンドプロンプトシェルとして を使用します。OS/2ではDOSとOS/2のプロンプトが別々に用意されているため、このような混乱は発生しません。OS/2でDOSプログラムを実行すると、アプリケーションを実行するための別のDOSウィンドウが起動します。
Itanium(Microsoftによる販売は終了)およびx86-64アーキテクチャ向けのWindowsの全バージョンにはNTVDMが含まれなくなり、DOSまたは16ビットWindowsアプリケーションをネイティブに実行できなくなりました。代替手段としては、Microsoft独自のVirtual PC、VMware、DOSBoxなどの仮想マシンエミュレータ、NTVDMx64、OTVDM(WineVDM)、Win3muなどの非公式互換レイヤーがあります。

1990年にWindows 3.0が登場し、使いやすいグラフィカルユーザーインターフェースが備わったことで、コマンドライン駆動型のMS-DOSは終焉を迎えました。Windows 95 ( Windows 9x製品ラインからWindows Meまで継続)のリリースに伴い、ブートストラップ、トラブルシューティング、そして古いDOSソフトウェア(特にゲーム)との下位互換性のために統合版のMS-DOSが使用され、スタンドアロン製品としてはリリースされなくなりました。[ 86 ] Windows 95では、MS-DOS 7と呼ばれるDOSをWindows GUIなしで単独で起動することができ、この機能はWindows 98 Second Editionまで維持されました。Windows Meでは、ハードディスクから基盤となるMS-DOS 8.0のみを起動する機能は削除されましたが、DOSブートフロッピーディスク(「緊急ブートディスク」と呼ばれる)を作成する機能は維持されており、これをハッキングすることで基盤となるDOSへのフルアクセスを復元することができます。 2001年12月31日、マイクロソフトはMS-DOS 6.22以前のすべてのバージョンを廃止し、システムのサポートとアップデートの提供を停止しました。[ 4 ] MS-DOS 7.0はWindows 95の一部であったため、2001年12月31日にWindows 95の延長サポートが終了したときにサポートも終了しました。[ 87 ] MS-DOS 7.10とMS-DOS 8.0はそれぞれWindows 98とWindows MEの一部であったため、2006年7月11日にWindows 98とMEの延長サポートが終了したときにサポートも終了し、マイクロソフトによるMS-DOSのサポートとアップデートは終了しました。[ 88 ]
Windows 9x シリーズとは対照的に、 9x シリーズと並行して開発されたWindows NT由来の 32 ビット オペレーティング システム ( Windows NT、2000、XP以降) は、オペレーティング システムのコア コンポーネントとして MS-DOS 互換性を備えておらず、ブートストラップにも MS-DOS 互換性に依存していません。これは、NT が Windows 9x ほどレガシー MS-DOS および Win16 アプリケーションのサポートレベルを備えていなかったためです。[ 86 ]ただし、 DOS アプリケーションを実行し、DOS のようなコマンド プロンプト ウィンドウを提供するために、 NTVDM (NT 仮想 DOS マシン) と呼ばれる限定的な DOS エミュレーションを提供しています。Windows 11より前の64 ビット版の Windows NT (および拡張によりWindows Server 2008 R2 ) は DOS エミュレーションを提供しておらず、DOS アプリケーションをネイティブに実行することはできません。[ 89 ] Windows XP以降には、ブートストラップのみに削除されたWindows Meブート ディスクのコピーが含まれています。これは、フロッピーを「MS-DOS 起動ディスク」としてフォーマットすることによってのみアクセスできます。 CD-ROMサポート用のドライバなどのファイルはWindows Meのブートディスクから削除され、スタートアップファイル(AUTOEXEC.BATとCONFIG.SYS)にはコンテンツがありませんでした。この修正されたディスクは、Windows XP用のMS-DOSイメージを作成するためのベースでした。削除されたファイルの一部は、削除取り消しツールで復元できます。[ 90 ] Windows XP以降のフォーマットツールで作成したMS-DOSスタートアップディスクを起動すると、バージョン番号とVER内部コマンドはそれぞれ「Windows Millennium」と「5.1」と報告され、「MS-DOS 8.0」(Windows Meのベースとして使用されましたが、スタンドアロン製品としてはリリースされませんでした)とは報告されませんが、APIは依然としてバージョン8.0を示しています。
MS-DOS起動ディスクの作成は、その後のWindowsのバージョンにも引き継がれましたが、その内容の大部分はWindows XPでの導入時から変更されていません。Windows VistaでDOS起動ディスクを作成すると、起動ディスク上のファイルの日付は2005年4月18日になりますが、それ以外はXPから変更されていません。これには、ディスク内の「MS-DOS Version 8 Copyright 1981–1999 Microsoft Corp」という文字列も含まれますCOMMAND.COM。Windows 7、8、8.1でもMS-DOS起動ディスクを作成できますが、それ以外はXPおよびVistaから変更されていません。Windows 10以降では、MS-DOS起動ディスクの作成機能が削除されたため、 MS-DOSを実行する仮想マシンまたは旧バージョン(仮想マシンまたはデュアルブート)を使用してフロッピーディスクをフォーマットするか、外部ソースからイメージを取得する必要があります。その他の解決策としては、 FreeDOSなどのDOS互換の代替手段を使用するか、必要なファイルとブートセクター自体をコピーする方法があります。 MS-DOSに関連する最後のコンポーネントはNTVDMコンポーネントでしたが、Windows 11以降、OSが32ビットプロセッサのサポートを廃止し、64ビット版のみの提供となったため、NTVDMコンポーネントはWindowsから完全に削除されました。これにより、36年間続いたMicrosoft WindowsにおけるMS-DOSとの関わりは事実上終わりました。
MS-DOS 6.22は、 Intel 8088、Intel 8086、Intel 80286プロセッサ向けにMicrosoftが作成した最後のスタンドアロンバージョンであり、有効なログイン資格情報を持つ顧客は、 MSDN、[ 91 ] 、ボリュームライセンス、OEMライセンスパートナーのWebサイトからダウンロードできます。MS-DOSは、そのシンプルなアーキテクチャと最小限のメモリとプロセッサ要件のために、組み込みx86システムで現在も使用されていますが、現在の製品の中には、現在もメンテナンスされているオープンソースの代替手段であるFreeDOSに切り替えたものもあります。
2018年、マイクロソフトはMS-DOS 1.25と2.0のソースコードをGitHubで公開し、6年後にはMS-DOS 4.00のソースコードも同じリポジトリで公開された。[ 3 ] [ 23 ]マイクロソフトによると、その目的は主に歴史的なオペレーティングシステムの教育と実験、そして新しいプログラマーが歴史的および現在の低レベルソフトウェアの動作を理解するためだという。プログラムマネージャーのリッチ・ターナー氏によると、他のバージョンはサードパーティのライセンス制限によりオープンソース化できなかったという。[ 92 ]
ソフトウェアの歴史的性質上、Microsoft はコードへのプルリクエストを一切受け付けません。ただし、ユーザーは MS-DOS ソースコードを含むリポジトリをフォークし、独自の変更を加えて自由に利用することができます。
1983年以降、様々な企業がPCハードウェア上で実行可能なグラフィカルユーザーインターフェイス(GUI)の開発に取り組みました。 [ 93 ]しかし、これには重複した作業が必要であり、インターフェイスデザインの一貫性はあまりありませんでした(同じ会社の製品間でさえも)。
その後、1985年にMicrosoft Windows 1.0がリリースされ、Microsoftはアプリケーション用の一貫したユーザーインターフェースを提供するという最初の試みを行いました。Windowsの初期バージョンはMS-DOS上で動作していました。[ 94 ] [ 95 ]当初、Windowsはあまり成功しませんでしたが、これはGEMなど、他の多くの企業の取り組みでも同様でした。バージョン3.0以降、Windowsは市場で受け入れられました。[ 96 ]
Windows 9xは、 Windowsカーネルをプロテクトモードで起動するためにMS-DOSを使用していました。長いファイル名などのファイルシステム関連の基本機能は、Windows経由で実行されるDOSアプリケーションでのみ利用可能でした。[ 97 ] Windows NTはDOSとは独立して動作しますが、レガシーアプリケーション向けにDOS環境をシミュレートするコンポーネントであるNTVDMが含まれています。[ 98 ] Windows 11はx86-64などの64ビットアーキテクチャでのみ提供されるため、NTVDMは含まれていませんでした。 [ 99 ]
MS-DOS 互換システムには以下のものがあります:
マイクロソフトはIBM向けにIBM PC DOSを開発しました。IBM PC DOSとMS-DOSは同一製品でしたが、MS-DOSバージョン6.0以降は最終的に分岐しました。デジタル・リサーチ社はマイクロソフトのバージョン番号体系を採用しませんでした。例えば、1988年7月にリリースされたMS-DOS 4の後継として、1990年5月にDR DOS 5.0がリリースされました。MS-DOS 5.0は1991年4月に、DR DOS 6.0は翌年6月にリリースされました。[ 100 ]
これらの製品は総称して「DOS」と呼ばれますが、「ディスクオペレーティングシステム」はx86やIBM PCとは関係のない他のシステムで使用される一般的な用語です。「MS-DOS」は、IBM PC互換機上のDOSを指す一般的な用語でもあります。
マイクロソフトによるWindowsプラットフォームのコントロールと、Windowsが競合するDOSのバージョンで動作が劣っているように見せかけるプログラミング手法は、他のDOSメーカーがMS-DOSと競争し続ける能力を損ないました。[ 82 ]デジタルリサーチは、人為的に挿入されたWindowsの制限を回避するために暫定的なリリースをリリースする必要がありました。 [ 82 ]この制限は、マイクロソフトに競争上の優位性を与えるために特別に設計されました。[ 82 ]
本日、IBMとのパートナーシップとオープンイノベーションの精神に基づき、MITライセンスの下でMS-DOS 4.00のソースコードを公開します。
マイクロソフトは今週、コンピューターの歴史に残る新たな一片をオープンソース化した。同社はIBMと提携し、1988年のMS-DOS 4.00のソースコードを公開した。このバージョンは、コンピュータオペレーティングシステムとしての実用性よりも、不人気、バグ多発、そして複雑な開発履歴で知られている。
-DOS Mobileのプレビュー版は必須のダウンロードです。
高レベルの DOS FORMAT コマンドから来ています... ほとんどのベンダーは、最大 32 MB のパーティションを適切にフォーマットできるように修正された高レベルのフォーマット プログラムを提供していました。