MS-DOS

MS-DOS（エムエスドス）は、1981年よりマイクロソフトが開発・販売したパーソナルコンピュータ向けのオペレーティングシステム (OS) である。

「MS-DOS」が製品名で、マイクロソフト ディスクオペレーティングシステム()を意味する。

概要
IBMはIBM PC用のオペレーティングシステムの開発をマイクロソフトに依頼し1981年にIBM PC DOSとして発売したが、このOSをマイクロソフト経由で他社にOEM提供したものがMS-DOSである本当に知っている？Windows XPの基礎［アーキテクチャ編］（第2回）なぜDOSアプリがWindowsで動くのか？ - 日経XTECH「何とか納期に間にあった「PC-DOS」だが，Microsoftが他社にOEM供給する際には，自社の商標である「MS」を付け「MS-DOS」と呼んだ。」世界のOSたち - コンピューターを支える一時代を築いた「MS-DOS」- +Digital「最初のMS-DOS「PC DOS 1.0」が誕生しました。IBMとMicrosoftとの契約では、開発したOSを他社へOEM（他社ブランドの製品を製造すること）供給することが認められていた」。ただしマイクロソフトは現在ではMS-DOSは1981年発売と説明しているFacts About Microsoft - Microsoft"Aug. 12, 1981	IBM introduces its personal computer with Microsoft’s 16-bit operating system, MS-DOS 1.0"。IBM PC DOSとMS-DOSはバージョン5まではほぼ同内容だが、バージョン6以降は独自機能が追加された。

MS-DOSはCP/M類似のIntel 8086系向けの16ビット オペレーティングシステムだが、IBM PCの成功によりパーソナルコンピュータ市場でデファクトスタンダードとなり、後に8ビットなど各種のCPUやコンピュータ用にも移植され、また各種の組み込み機器でも使用された。

MS-DOSは基本的にはコマンドラインインタフェースやUNIX風の階層型のファイルシステムを持つシングルタスクのオペレーティングシステムだが、各種アプリケーションや、バージョン4一部メーカー用はバージョン5より付属のDOSSHELLや、別売のMicrosoft Windows 2.0などの併用により、グラフィカルユーザインタフェースや疑似マルチタスクも使用可能となった。ただしMS-DOS自体は画面描画に関わるアプリケーションプログラミングインタフェースを持たないため、多くのMS-DOS用アプリケーションは機種依存であり、異なる機種間では稼働せず、また移植も容易ではなかった。

MS-DOSと互換性を持つオペレーティングシステムには、IBM PC DOSの他、DR-DOS (Novell DOS)、オープンソースのFreeDOSなどがあり、またMicrosoft Windowsのコマンドプロンプトなどの互換環境がある。

最終となった製品バージョンは、マイクロソフト版はMS-DOS バージョン6.2、IBM版はPC DOS 2000である。

歴史
開発の経緯

1980年7月ごろ、IBMは後にIBM PCとなるパーソナルコンピュータの開発に着手した。しかし、IBMの主力商品である汎用コンピュータに比べるとごく少数のスタッフとわずかな予算しか与えられなかった。プロジェクトリーダーのフィリップ・ドン・エストリッジは、すぐに商品化できるようソフトウェアは自社開発せず、すべて外部から調達する方針を立てた。

当時のマイクロソフトはBASICインタプリタやアセンブラならびに各種言語のコンパイラなどを開発しており、それらの製品のほとんどが当時のパーソナルコンピュータ市場におけるデファクトスタンダードOSであるデジタルリサーチのCP/M上で動作するものであった。

IBMはマイクロソフトに対し当初はBASICなどの言語製品の開発を依頼していたManes & Andrews (1993). Gates, Doubleday, ISBN 0-385-42075-7.。OSについても8086対応版のCP/Mをマイクロソフトに開発してもらおうとした。しかし彼らはCP/Mのソースの権利を持っていなかったため、ビル・ゲイツのアドバイスに従ってデジタルリサーチと交渉することにした。ところがデジタルリサーチとの交渉はうまくいかず、再びマイクロソフトに開発の依頼を持ち込んだ。Evans, Harold (2004). They Made America, Little, Brown and Company. ISBN 0-316-27766-5 ISBN 0-316-01385-4.Operational Choice, PC Magazine Charter Issue, February–March 1982Hamm, Steve; Jay Greene (October 25, 2004). "The Man Who Could Have Been Bill Gates". BusinessWeek.

マイクロソフトは「M-DOS」というOSを開発した経験はあるが、販売したことはなかった。IBMから要求された期日は1年以内という厳しいもので、言語製品の開発に加えてOSにまで手を回す余裕はなかった。同じ頃、シアトル・コンピュータ・プロダクツはCP/Mが8086に移植されない事に業を煮やし、ティム・パターソンがわずか6週間で開発したQDOSを、86-DOSとして販売した。基本的には8080/Z80用に作られたデジタルリサーチのCP/Mクローンであり、8086に移植して、ディスク読み込み処理のバッファ管理を改良し、ファイルシステムを新規開発したFAT12にしたものである。ファーストバージョンは1980年8月に出荷された。

IBM PC用のOSを必要としていたマイクロソフトは、1981年5月にティム・パターソンを雇いこのやり方を進言したのは当時同社役員でもあった西和彦と言われている、同年7月に86-DOS 1.10を75,000ドルで購入した。マイクロソフトはバージョン番号を変更せず、名前をMS-DOSに変更した。1981年8月にMS-DOS 1.10/1.14をPC DOS 1.0としてIBMに提供し、IBM 5150やIBM PCで動作する3つのOSの1つとなった。

各メーカーへのOEM供給
IBMは当初「PC DOS」名称でIBMのみへの供給を主張し、マイクロソフトはIBM以外のメーカーへのOEM供給を主張した結果、IBM用はPC DOS名称、マイクロソフトによる各メーカーへのOEM供給も認めて普及を図るという役割分担となったと言われる。この役割分担は後のOS/2 Ver. 1.Xでも同様となる。

リスクを軽減化するために買い取りを避けIBM PCの出荷台数に対して使用料を支払うというライセンス契約をしたこと、そしてマイクロソフトから各メーカーへの自由なOEM供給を認めたことが後のマイクロソフトの躍進の原動力と言え、また見方を変えれば、最終的に「軒先を貸して母屋を取られた」IBMの大失策であるとも言えるが、MS-DOS（およびPC DOS）の普及（デファクトスタンダード化）を決定づけたとも言える。

1982年、マイクロソフトはバージョン1.25からIBM以外のメーカーにMS-DOSのOEM供給を開始した。のSB-DOS、コンパックのCompaq-DOSDuncan, Ray (1988). The MS-DOS Encyclopedia, Microsoft Press. ISBN 1-55615-049-0.、のZ-DOSZenith's new Z100 has something for everybody, InfoWorld, July 12, 1982Zenith challenges IBM's share of micro market, InfoWorld, September 13, 1982Review: Zenith Z-100, InfoWorld, November 7, 1983など、供給先メーカーは70社以上に及んだ。1983年のバージョン2.0より、IBM以外の各メーカーへのOEM供給品は「MS-DOS」名称に一本化された。OEM供給品に自社の商標（MS）をつけ「MS-DOS」名称としたのは、OEM先メーカーが独自の名前をつけて混乱することを避けるために整理する意味があった。ただし、その後も富士通FM TOWNSのTownsOSや各種制御機器など、内部的にMS-DOSがOEM提供されている場合には「MS-DOS」の名称はユーザーには見えない場合があった。

MS-DOSは8086系CPUを搭載したパソコンで動作させることが前提の設計だった。各パソコンには専用のハードウェアがあり、MS-DOSもそれぞれ別のバージョンが作られ、その状況は既存のCP/Mと同様で、CP/Mと同じ方法でハードウェアをエミュレーションして違いを吸収した。これを実現するためMS-DOSはプライマリディスクドライブやコンソールなどの最小限の内蔵ドライバや内蔵カーネルをブートローダーで読み込み、それ以外のデバイスドライバを起動時に動的に読み込めるモジュール方式を採用した。OEM各社はマイクロソフトが提供した開発キットを用い、基本的なI/Oドライバとマイクロソフトの標準カーネルを組み合わせて独自のMS-DOSを作ることができ、普通はハードに添付するディスクの形でユーザーへ届けられた。従って各ハードウェアごとに異なるバージョンのMS-DOSが存在することになり、IBM互換機とMS-DOSマシンの2種類に大きく分類された。のような一部のパソコンはMS-DOS互換だったがIBM互換ではなく、特定のハードやIBM PCのアーキテクチャに依存しないMS-DOS専用に作られたソフトウェアを実行できた。

このデザインはアプリケーションの互換性を高めるのに役立ち、MS-DOSのサービスだけを使ってデバイスI/Oにアクセスする場合は特に有効で、このデザイン方針は後のWindows NTにも影響を及ぼした(Hardware Abstraction Layerを参照)。しかし当時はハードに直接アクセスすることでパフォーマンスを稼ぐアプリが主流を占め、特にゲームではこれが顕著で、各社は次第に、1つのMS-DOSがどの会社のパソコンでも動作するようになった。

DOSの限界と開発の終焉
DOSは標準でグラフィカルユーザインターフェースやマルチタスク機能や仮想記憶を持たず、80386などの32ビット環境でも「高速な8086」としか使用できなかったため、DOSの拡張や次世代OSが待望された。

1985年にはDOSエクステンダーであるDESQviewAST memory board to come with Quarterdeck Desqview, Computerworld, November 4, 1985、同年にDOS上で稼働する「オペレーティング環境」としてMicrosoft Windowsが登場したMicrosoft Focuses Efforts On Direct Corporate Sales, InfoWorld, November 18, 1985。さらに1987年には本格的なDOSの後継OSとしてIBMとマイクロソフトから OS/2 Ver. 1.0 が登場したIBM Ships OS/2 Four Months Early, InfoWorld, December 7, 1987Zenith First to Ship Microsoft OS/2, InfoWorld, December 21, 1987。OS/2はDOSと同様に、IBMおよびマイクロソフトの両者から供給されたが、性能やDOS互換環境の問題もあり広く普及しなかったためDOSは継続して使われたVendors Decide Against Bundling OS/2 With PCs, InfoWorld, November 30, 1987。

1990年に日本ではIBM DOSのバージョン4からDOS/Vが生まれ、マイクロソフトもバージョン5からDOS/VのOEM供給を開始したため『日経バイト』 1991年12月号、p.160.。、日本でもPC/AT互換機の市場が立ち上がり始めた。

1993年のバージョン6からは、IBMとマイクロソフトのOS共同開発契約（OSクロスライセンス契約）が終了したため以後はIBMまたはマイクロソフトの単独開発となった。両者は基本部分の互換性は保たれているが、付属ユーティリティの相違などが広がった。マイクロソフトはこのMS-DOS 6を単体販売の最終バージョンとし、1995年のMicrosoft Windows 95以降は単体のDOSも不要となったWindows 95以降ではDOSは技術的には内部に存在しているが、製品としてバンドルされている。。IBMはDOSの改良を続けたが、1998年のPC DOS 2000が最終バージョンとなり、2001年にはサポートも終了した。

2014年3月25日、マイクロソフトはSCP MS-DOS 1.25、およびAltos MS-DOS 2.11とTeleVideo PC DOS 2.11の混合版を、Microsoft Research License Agreementに基づいて一般公開した。これにより、コードソースは利用可能になるが、オープンソース・イニシアティブやフリーソフトウェア財団の規格で定義されるオープンソースではない (NB. While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.) (NB. While the author claims this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.) (NB. While the author claims this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)。マイクロソフトは、2018年9月28日にMITライセンスに基づいてコードを再ライセンスし、これらのバージョンを自由ソフトウェアとした。2024年4月25日、マイクロソフトはMS-DOS 4.00のコードをMITライセンスの下で公開した。

機能
MS-DOSと名付けられているように、マイクロソフトのパーソナルコンピュータ向けのDOS（ディスク・オペレーティング・システム）であり、主にディスクの管理を行うシングルタスクOSであった。開発当初のCPUにマルチタスク機能・メモリ保護機能がなかったためMS-DOSも対応しておらず、CPUにそれらの機能が搭載された後もMS-DOSが対応することはなかった。またグラフィック画面やサウンドの操作・ネットワーク機能などは、Microsoft WindowsやLAN Managerのほかアプリケーションが直接I/Oを操作するかデバイスドライバなどで提供されていた。

ファイル管理
ファイルの管理は、FATとクラスタにより構成される。

ファイル名は8.3形式、つまり、8バイトまでのベース名と3バイトまでの拡張子の合計最大11バイト（拡張子の前の「.」を数えれば12バイト）で表す。アルファベットの大文字と小文字は区別しない（全て大文字と見なされる）。

バージョン2以降では、ディレクトリの作成が可能となり、ファイル属性にも対応した。

起動順序
起動順序は概ね以下の通りである。

コンピュータのROM BIOSやディスクのマスターブートレコードからディスクのセクタ0にあるブートセクタを読み込んで実行。
ディスクからIO.SYSとMSDOS.SYSがメモリ中にロードされる。
IO.SYSを起動し、その後MSDOS.SYSに制御を移行する。
CONFIG.SYSが起動ドライブのルートディレクトリにあれば、そこに記述されたデバイスドライバを読み込む。
バッチ処理のためのコマンドインタプリタでもある標準シェルのCOMMAND.COMを起動する。
AUTOEXEC.BATが起動ドライブのルートディレクトリにあれば、その内容を実行し、環境変数の設定や起動時に実行すべきコマンドなどの呼び出し、場合によってはアプリケーションの起動なども行う。

COMMAND.COMでは、各ドライブをA:から最大Z:までドライブレターの数はCONFIG.SYSのLASTDRIVEで変更可。のドライブレターで管理し、内部コマンドではファイル・ディレクトリ一覧の参照、ファイルとディレクトリの作成・コピー・名前変更、コンピュータの時刻や環境変数およびパスの設定参照などができるほか、外部コマンドやアプリケーションなどの実行形式のファイルの起動が行えた。またVer.2以降ではUNIXを意識した入出力のリダイレクト機能やパイプ機能なども利用できたが、MS-DOS上のパイプやリダイレクトはいずれもテンポラリファイルを介した擬似的な実装に留まっていた。

実行ファイル
MS-DOSにおける実行ファイルの形式は現在のUNIX系環境でいうシェルスクリプトに類似したコマンドのバッチ処理を記述するバッチファイル(拡張子はBAT)と、CPUが直接実行するバイナリファイルに大別することができる。

このうちバイナリファイルには、単一のセグメントを使うCOM形式、複数のセグメントが使用される場合のEXE形式、さらにデバイスドライバとしてSYS形式が存在し、それぞれ同名の拡張子を持つ。

COM形式の実行ファイルは、バイナリ読み込み時に設定されるコード・データ・エクストラ・スタックの各セグメントレジスタの値が同一アドレスに設定され、プログラム内部でセグメントレジスタを操作しない場合は単一セグメント、最大64KBのメモリ空間を操作する。CP/M 80用に書かれた8080用のアセンブリ言語のソースコードを8086へコンバートした場合を想定したメモリモデルであるが、COM形式のバイナリであってもプログラム側で適切にセグメントレジスタを操作することで64KB以上の空間へのアクセスが可能である。

このうち.SYS形式のバイナリは、原則的に起動時に一度だけ実行されるCONFIG.SYSに記述する以外の方法では直接読み込むことができない ただし、PC-98版のMS-DOS 3.1以降ではADDDRV.EXEと登録を記述したファイルの組み合わせにより登録し、DELDRV.EXEで外せる。この方法を使用できるのはキャラクタデバイスのみであり、CONFIG.SYSで一度登録したデバイスドライバは外せない。IBM PC用では何種類かサードパーティで同様のプログラムが作成されている。。

システムコール
システムコールは、ソフトウェア割り込みにより呼び出されるが、8080やZ80などの8ビットのコンピュータではメジャーな存在だったCP/Mとの互換性、特に8080用にアセンブリ言語で書かれたソースコードを8086にコンバートして用いる場合を想定し、call 5でも利用可能としてCP/M 80からの移行を促したFAR JMP instruction for CP/M-style calls。

メモリ管理
MS-DOSにおいて、DOS自身のカーネルを含むプログラムの実行に確保できるメモリ空間（ユーザーメモリ、コンベンショナル・メモリ）は、8086のアドレス空間の最大1MBである。ほとんどのコンピュータでは、この空間にBIOS ROMやメモリマップドI/O、VRAMなどの空間も存在するため、バンク切替えや様々なメモリ拡張手段などを用いずに一時にアクセス可能なメモリ空間は最大でも640KBから768KB程度ユーザーメモリは、IBM PC互換機およびPC-9800シリーズ等では640KB、PC-H98シリーズやFMRシリーズ・FM TOWNS等は768KB。であった。

日本語入力用のFEPなどの常駐型のデバイスドライバを使用すると一度に使用できるユーザーメモリはさらに減少するため、ユーザーはEMSやXMS、HMAやUMBなどの拡張メモリの管理機能を利用して、辞書や常駐部やMS-DOSシステムの一部をそれらへ配置し、コンベンショナルメモリの圧迫を少しでも避けることが重視されるようになった。

そのため、RAMディスクドライブやディスクキャッシュなどはバンクメモリやEMS、プロテクトメモリ（80286/386以降）の機能を用いて、コンベンショナルメモリ以外の領域を使用するのが一般的であった。

これらのメモリ配分の設定はCONFIG.SYSやAUTOEXEC.BATを記述することで行い、事実上ユーザーに一任されていた。

バージョン3まではメモリドライバやデバイスドライバはOSには付属せずサードパーティー製のメモリドライバなどを使用する必要があったが、バージョン5では標準機能としてOSに付属するようになった。また、これらの環境設定を半自動的に行う設定アプリケーションも添付された。

各種デバイスドライバには自動でインストールを行うスクリプトやプログラムが整備され、動く状態を作るだけであればエンドユーザーがこれらを直接操作する必要はなくなったが、全ての環境に対応するのは難しく最適な設定や問題発生時の対応など初心者にとっては設定のハードルは高かった。

Windows 9x

従来のWindows 3.xはMS-DOSから起動するアプリケーションであったが、Windows 9x系では互換性のためにMS-DOS相当の機能が一部内部に組み込まれているものの「MS-DOSを必要としないWindowsという単体のOS」となった。Windows 95・98などのWindows本体を起動している状態ではプロテクトモードの完全なマルチタスク（プリエンプティブマルチタスク）で稼働しているが、シングルタスクのMS-DOSモード（DOSプロンプトとは異なる）に切り替えることが可能である。Windows上で起動するDOSプロンプトもMS-DOSと互換性があるが一部動作しないアプリケーションがあり、この問題を解決するための機能がMS-DOSモードで、完全なCUI表示となり、MS-DOSアプリケーションのみが動作し、DOSプロンプト上ではロングファイルネームで表示されるVFATであっても8文字+拡張子3文字のショートファイルネーム形式のファイル名で表示され、MS-DOSとほぼ同じ状態になる。

バージョン
バージョン一覧

MS-DOSとPC DOSの主要なバージョンの一覧は以下の通り。
バージョン出荷開始IBMマイクロソフト備考11981年PC DOS 1.0(MS-DOS) 1.251981年 IBM PC用にPC DOSが登場。1982年 マイクロソフトがIBM以外に1.25以降のOEM供給を開始（名称は供給先により異なる）。21983年PC DOS 2.0MS-DOS 2.0PC/XT用に登場、階層ディレクトリなど。マイクロソフト版の名称が「MS-DOS」に一本化された。日本ではPC-9801などに日本語MS-DOSのOEM供給を開始。31984年PC DOS 3.0MS-DOS 3.0PC/AT用に登場、FAT16など。広く普及し事実上の標準に。同時期にDR DOS 4も出荷。41988年IBM DOS 4.0MS-DOS 4.0IBM版が名称変更。DOSシェルなど。IBM版4.05より日本でDOS/V（IBM DOS J4.05/V）も登場。51991年IBM DOS 5.0MS-DOS 5.0メモリ管理機能強化。IBMとマイクロソフトのOS共同開発の最終版。マイクロソフト版は初めて単体の直接販売が開始される。日本ではマイクロソフト版DOS/V（MS-DOS 5.0/V）も登場し、各社PC/AT互換機に広く採用される。同時期にDR DOS 6.0 出荷。61993年PC DOS 6.1PC DOS 6.3MS-DOS 6.0MS-DOS 6.2IBM版が名称再変更。PC DOSとMS-DOSは付属ユーティリティの違いが拡大。MS-DOSは単体販売の最終版。同時期にNovell DOS（DR DOS） 7出荷。71995年（なし）MS-DOS 7.0MS-DOS 7.1Windows  95/98/98SEの内部バージョン。PC DOS 7 とは全く別物。7.1はWindows 95 OSR2 以降で、FAT32に対応した。1995年PC DOS 7PC DOS 2000（なし）IBM版のみ。スクリプト言語のREXXをサポート。MS-DOS 7 とは全く別物。82000年（なし）MS-DOS 8Windows Meの内部バージョン。MS-DOSの最終版。

バージョン1
サムネイル|コンパックOEMのMS-DOS 1.12
サムネイル|PC-9801用MS-DOS 1.25における漢字入力機能
CP/M程度の機能しか持たない、基本的なディスクオペレーティングシステム。ファイルシステムは後のバージョンで実装された階層構造を持っておらず、ディレクトリが利用できない。CP/Mとの大きな違いは、汎用化のためなどで、入出力デバイスなど、機種依存する部分を分離するという方向性である。MSDOS.SYSとIO.SYSという2つのファイルがあることにあらわれている（前者が非依存なモジュール、後者が依存が大きいモジュールである。なお、機種や機能によって、IO.SYSが機能を抱えるか、BIOSに依存するかは異なっており、例えばディスクIOは多くの機種でBIOS依存だが、文字表示位置の制御などはIBM PCではBIOSだが、PC-98ではIO.SYSが行っている）。

このバージョンが使われていた頃は、8086またはその互換プロセッサ（8088など）を利用したパーソナルコンピュータ市場もそれほど大きくなかったため、出荷本数の大半はIBM PCにバンドルされた分だった。
バージョン1.0（1981年8月）IBM Press Release announcing the PC August 12, 1981- IBM PC（初代）出荷と同時にリリース。64KBのメモリ空間のうち約12KB（そのうちシェルが5KB）を占有した。また、160KBの5.25インチフロッピーディスク (1D) をサポートしていた。シアトル・コンピュータ・プロダクツの86-DOS 1.14と同等。PC DOSのみ。
バージョン1.1（1982年5月）IBM enhances Personal Computer with 2-sided drives, InfoWorld, June 7, 1982- 360KB 5.25インチフロッピーディスク (2D) サポートの他、一部のバグフィクス。PC DOSのみ。
バージョン1.25（1982年5月）Duncan, Ray (1988). Advanced MS-DOS Programming, Microsoft Press. ISBN 1-55615-157-8.- マイクロソフトが、8086プロセッサを利用したパーソナルコンピュータ、さらにはIBM PC互換機向けに、IBM以外のメーカーへのOEM提供を開始。日本では当時マイクロソフトの代理店であったアスキーが日本語版MS-DOSを開発している最中で、それに先駆けて複数のメーカーが各自で日本語処理機能を実装して販売していた「Unix風の機能を持ち込んだ日本語MS-DOS2.0の機能と内部構造」『日経エレクトロニクス』 1983年12月19日号、pp.165-190。。

バージョン2
サムネイル|Leading Edge Model D用のMS-DOS 2.11起動ディスク
IBM PC/XTの仕様に合わせ、HDDや360KB 5.25インチフロッピーディスク (2D) をサポートしている。階層構造ディレクトリ、CONFIG.SYSによるデバイスドライバの追加機能、UNIXライクなパイプなどの機能が追加された。アセンブラのMASMが付属していた。

マイクロソフト版はこのバージョンより名称が「MS-DOS」に一本化された。

バージョン2.0（1983年3月）Allen, Paul (2011). Idea Man, Penguin, ISBN 978-1-59184-382-5. - PC/XT 出荷と同時にリリースされた。
バージョン2.01(1983年5月)  - 日本では「日本語MS-DOS 2.0」としてリリースされ、パソピア16などに採用された。
バージョン2.1（1983年10月）IBM. PC DOS 2.1 Announcement Letter. 1983-11-01 ([3]). - IBM PCjr 向け。
バージョン2.11（1983年10月） - バージョン2.01とバージョン2.1を統合。アジアやヨーロッパなど多言語市場を意識し、文字セットや日付表示のローカライズをサポート。各社のx86パーソナルコンピュータ向けに広く利用された他Allan, Roy A. (2001). A History of the Personal Computer, Allan Publishing, ISBN 0-9689108-0-7. eBook on archive.org. Appendix B: Versions of DOS、日本ではアスキーの市場戦略の関係で、市販ソフトウェアにサブセット版のバンドルが許されていた服部雅幸「トピック・レポート：機能不足が表面化、老兵「MS-DOS2.11」」『日経パソコン』 1991年1月21日号、pp.178-182。。
バージョン2.25（1985年10月） - 東アジア市場向けに2バイト言語に対応を図った「アジアバージョン」。

バージョン3
サムネイル|PC-9800シリーズ用MS-DOS 3.3C
当初 IBM PC/AT 用に発売。主としてネットワーク対応と大容量HD対応のための16ビットFATが追加されたもっとも、管理できるセクタ数は65535個であったため、32MB以上のパーティションを切ることは出来なかった。。本来80286が標準のPC/AT向けだったが、互換性確保目的で80286のプロテクトモードを利用した新機軸は敢えて盛り込まれなかったためサードパーティー製の各種ユーティリティによって機能拡張するユーザが多かった。

ベンダーによる独自拡張などで方言が多くバージョン番号の体系も大きく乱れている富士通 FMRシリーズ及びFM TOWNS用MS-DOS 3.1の後期バージョンでは米国版の3.2／3.3の機能の一部が取り入れられていた。PC-98版MS-DOS 3.1は同一のバージョン番号で複数の版が存在し、互換性の問題が生じたことでユーザーやソフトハウスを混乱させた。。必要十分なスペックと安定性が評価され、またバージョン4以降の仕様変更の影響を避けるために一部ではかなりの長期間にわたって愛用されていた。

バージョン3.0（1984年8月） - PC/ATの発売と同時にリリースされた。1.2MB 5.25インチフロッピーディスク (2HD) および32MBまでのハードディスクをサポート。ハードディスクの論理ボリュームは単一のみ。
バージョン3.1（1984年11月）IBM Rolls out New PC: Networking products, windowing software also announced, InfoWorld, Sep 10, 1984 - 3.0のバグフィックス版。別売のまたはでトークンリングに対応したネットワーク機能が供給された。ただし、性能が低く専らノベルのNetWareなどのNOSが一般的に用いられた。日本ではマイクロソフトから日本語版が供給され、日本国内メーカーの多くのパソコンに採用された。また、NECのPC-98LT、Handy98、にはROMで内蔵された。
バージョン3.20（1986年1月）PC-DOS upgrade supports 3-in. floppy disk drives, Computerworld, March 24, 1986 - 720KB 3.5インチフロッピーディスク (2DD) をサポート。フォーマットプログラムの機種依存ルーチンをIO.SYSに移したことで移植性を高めている。
バージョン3.21 - 3.20のアジアバージョン。2バイトコードに対応し、日本ではAXなどに採用された。
MS-DOS 3.3（PC-98版） - バージョン3.21を独自拡張NECがマイクロソフトから日本語版MS-DOS 3.21の供給を受けてMS-DOS 3.3として販売していた。光田一徳「トピック・レポート：混乱するMS-DOS―こんなにあるバージョン」『日経パソコン』 1988年12月5日号、pp.183-188。。マイナーバージョンに3.3A～3.3DPC-98版のバージョン3.3Dはバージョン5.0と同時発売。見かけ上のセクタサイズを1KB若しくは2KBとすることで最大128Mのパーティションを管理することが出来た。が存在。
バージョン3.22（1989年10月）「米マイクロソフト、ROM化可能なOS―省電力・小型機向け発売。」『日経産業新聞』1989年10月5日、7面。 - ROM化に対応。同年8月にデジタルリサーチがROM化可能なDR DOSを開発している「デジタル・リサーチ、ROM化可能なOS発売―「MS-DOS」とも互換性」『日経産業新聞』1989年8月29日、9面。。
バージョン3.3（IBM PS/2版）（1987年4月）IBM. Operating System/2 Standard Edition Announcement Letter. 1987-04-02 ([19]). - IBM主導で開発された。1.44MB 3.5インチディスク (2HD) をサポート。多言語対応のため、コードページが採用された。HDにおいて複数の論理ドライブを扱えるようになった。
バージョン3.3（OEM版）（1987年8月）Microsoft to Release Own DOS 3.3, InfoWorld, August 3, 1987 - IBM版の同バージョンと同等。

バージョン4（1986年）
バージョン3.20から派生し、8086上で限定的な擬似マルチタスク環境を実現したもの。マイクロソフトが開発したが不十分であるとしてIBMには採用されず、にネットワークOSとしてOEMされた他、僅かの用途に留まり絶滅亜種になってしまったMS-DOS 4.0 in U.K.; U.S. Waiting for 5.0, InfoWorld, March 24, 1986Larry Osterman. Did you know that OS/2 wasn't Microsoft's first non Unix multitasking operating system? MSDN Blogs。非同期I/O対応やバックグラウンドタスク規約など資産の一部は Windows 2.x に流用され、また80286プロテクトモードを前提に並行開発されていたもの（当初バージョン5と呼ばれていた）はIBM主導で大幅に改訂され、世に出た時にはOS/2バージョン1.0になっていた。

バージョン4
IBM主導で開発されたバージョン。OS/2色が濃くなり、IFSやラージバッファなどの追加のみならず管理セクタ数が増やされた事に伴いHDは理論上最大2GBの領域を扱うことができるようになった（実際にはBIOSの制限があった）他、添付ユーティリティを利用すると最大512MBのパーティションまで作成可能になったがIncompatibilities Hinder Useful DOS 4.0 Features, InfoWorld, August 15, 1988、その反面余りに多くの変更がファイルシステムに加えられたため非互換性の問題も生じてしまった。

情報が全部公開されていなかったものの、2バイトコードによるユニバーサルランゲージ対応が内部的に完了したのも本バージョンからであるそれまでの日本語版DOSはマイクロソフトが日本市場向けに改変したもので、世界共通の仕様ではなかった。また、バージョン3までの英語版DOSをDOS/V化するとファイル名の扱いなどで不具合が生じる場合がある。従来のバンクメモリに代るEMSの標準サポートによって扱えるメモリ領域が1MB以上に拡張された。

互換OSのDR DOSで好評を博していた「GEM」に類似のグラフィカルユーザインタフェース環境、「DOSシェル」が添付された。これはマウスオペレーションやグラフィカルなメニューによる直感的な操作が行えるもので、依然シングルタスクながらも複数のアプリケーションを重複起動して切替動作させることができ（いわゆるタスクスイッチャ）、GUIもキャラクタベースによる簡易なものとグラフィック画面とテキスト画面を組み合わせたもの（表示が美しく、ポインタの動作もスムーズになる）とを選択できた。DOSシェルのデザインはIBM Systems Application Architecture Common User Accessに準拠していた。

本バージョンには性急な複雑化に伴う非常に多くのバグが存在し、またOS自体が消費するメモリが過大だったため、メーカーによってDOS 3.30 を拡張した DOS 3.31 を採用するなどして4.0を採用しないところが有ったUsers Still Slow to Accept DOS 4.0, InfoWorld, July 31, 1989。特に日本ではコンベンショナルメモリの空き容量が日本語処理アプリケーションの稼動に大きく影響を与えるため、大手メーカーであるNEC、富士通などが3.21系の拡張版のみを販売し続けた。

2024年4月25日（米国時間）、マイクロソフトはMS-DOS 4.0をオープンソース化し、IBMと提携しMITライセンスの下でソースコードをGitHubにて公開したMicrosoft、「MS-DOS 4.0」をオープンソース化（PC Watch） - インプレス 2024年4月26日（2024年4月27日閲覧）。

MS-DOS 4.0（マイクロソフト版）（1988年7月）
IBM DOS 4.0（IBM版、PC DOSより改称）（1988年7月）IBM. PC DOS 4.0 Announcement Letter. 1988-07-19 ([22]).
IBM DOS J4.05/V（1990年11月）（日本のみ）「MIXハイライト：PC AT互換パソコンでDOS/Vが動いた」『日経バイト』 1991年1月号、pp.326-328。 - いわゆる「DOS/V」の最初のバージョン。末尾の「V」はVGAを意味し、漢字ROMがなくても日本語表示が出来るように拡張されたもので、専用ハードウェアを付加することなく日本語対応が可能になったため日本国内外のPC/AT互換機メーカーが日本市場に参入する契機になった。
MS-DOS 4.01（マイクロソフト版）（1988年12月）Microsoft Releases Updated DOS 4; Some OEMs Ship Versions This Month, InfoWorld, November 28, 1988 - バグフィクス。

バージョン5
サムネイル|MS-DOS 5.0 セットアップディスク
再びマイクロソフト主導で開発された。バージョン4で付加された中途半端なユーティリティの多くが削除された一方、80386、80486などに備わる仮想86モードの活用と Windows 3.0 との親和性を主眼にほぼ全面的に再コードされたため、パソコン通信などを介した約1年にわたる大規模なベータテストを経て市販開始された。IBMの製品へのバンドルに限定せず、巷に溢れるPC/AT互換機へのフル対応を初めからうたいインストーラ込みで発売された最初のMS-DOS（PC DOS）でもある。

メモリ消費は少ないものの大容量ドライブが扱えないバージョン3、その逆で大容量ドライブが使えるがメモリ消費が大きいバージョン4というジレンマを抱えていたが、限りあるメモリ領域の消費を抑える機能を追加することでそれまでの問題を払拭するに至った。このバージョンによりDOSはほぼ完成を見たが8086～80286とその互換CPU上の動作には制約が強まり、結局のところ巧妙なアップグレード戦略の下でハードウエアの買い替え需要が喚起された。

XMSによってDOS本体の一部をHMAに、デバイスドライバやアプリケーションの一部をUMBに待避させることが可能で、コンベンショナルメモリが大きく取れるようになった。またタスクスイッチ規約が明確に定義され、DOSシェルの機能拡張（Windows 3.0 のサブセット化）が図られた。各種LAN対応も進められ、コマンドにヘルプが付されるなど利便性も向上した。

テキストエディタは、過去のバージョンに標準添付されていたラインエディタ「EDLIN」に加えスクリーンエディタ「」が添付されたPC/AT互換機用の英語版のみ。PC-98版はSEDIT（バージョン3.3Dにも付属）、EPSON PC版はMEDIT、富士通版（FMRシリーズ、FM TOWNS用）はEDIASと各社ばらばらのコマンド名・機能のエディタが添付された。。開発環境として、コマンドラインエディタに加え独自に拡張された構造化BASICコンパイラQuickBASICが標準添付されていた。

それまで未公開だったファンクションの多くがユーザに解放されたためカスタマイズやデバイスドライバ開発がさらに容易になった。日本ではマイクロソフトがDOS/VのOEM供給を開始し、PC/AT互換機をベースに独自の拡張を行っていたAX陣営や東芝 (J-3100)もこの頃よりDOS/Vへのシフトを進めるようになった「問：東芝のパソコンはDOS/Vパソコンなの？」『日経パソコン』 1994年1月31日号、pp.202-203。。また、世界のデファクトスタンダードであるPC/AT互換機のハードウェアでそのまま日本語版OSを使えるようになったために日本国外のメーカーが積極的に日本市場へ参入し始め、NECの独擅場であった日本市場は大きく変貌することとなった。

MS-DOS 5.0（1991年6月）
IBM DOS 5.0（1991年6月）IBM. IBM DOS Version 5.00 and Upgrade. 1991-06-11 ([25]). - 他マイナーバージョンアップやローカライズ版多数

バージョン6
ディスク最適化やディスク圧縮機能（後述）、コンピュータウイルス検出・除去など、CD-ROMアクセスに必要なMSCDEXの付属など付加機能の充実が主。MS-DOS単体としての最終版。

デジタルリサーチからMS-DOS互換の DR-DOS 6.0 が発売されたSoftware Developer Caldera sues Microsoft for Antitrust practices alleges monopolistic acts shut its DR DOS operating system out of market Caldera News, 1996-07-24 ([3]).。大きな特徴は補助ユーティリティの大幅な増強である。そのため、IBMおよびマイクロソフトでも基本仕様はほとんど変えずに補助ユーティリティを追加する事でバージョン6を発売することになった。IBMは6.1、それに続くマイクロソフトは6.2と、先に出た競合相手よりバージョン番号はそれぞれ0.1だけ大きい。

起動時に特定のキーを押すとCONFIG.SYS・AUTOEXEC.BATの一部の行を実行したり、全てバイパスする機能があった。

マイクロソフト版は同時期に発売された Windows 3.1 の普及を促すという販売戦略からDOSシェルを廃止したと見られた別売のサプリメンタルディスクで配布された。PC-98版には従来どおり付属。。テキストエディタは日本語に対応して共通のEDITとなった（PC-98版はSEDITが付属メガソフト社のMIFESのサブセット版藤山哲人「PC-9801開発現場の8つの秘密」、『月刊アスキー別冊 蘇るPC-9801伝説 永久保存版 第2弾』、アスキー、2007年4月9日初版、138ページ）。

MS-DOS 6.0（1993年3月）MS-DOS 6 hype doesn't match analyst forecasts, InfoWorld, March 29, 1993
PC DOS 6.1（IBM DOSより改称）（1993年6月）IBM. IBM PC DOS Version 6.1. 1993-06-29 ([27]). - IBMの独自ビルド。初期のバージョンにはディスク圧縮ユーティリティは添付されておらず、後のPC DOS 6.1 with Compressionでアドスター社の「SuperStor/DS」が添付された（日本語版PC DOS J6.1/V は最初から圧縮ユーティリティ添付）。
MS-DOS 6.2（1993年11月）Notes From the Field, Robert X. Cringely, InfoWorld, Nov 8, 1993, p. 122 - ディスク圧縮ユーティリティ「DoubleSpace」のバグフィクスなどMS-DOS 6.2 lets users uncompress DoubleSpace volumes;protects data, InfoWorld, November 1, 1993MS-DOS 6.2 Addresses DoubleSpace Concerns, Adds Features, PC Magazine, January 11, 1994。「DoubleSpace」は、ディスク容量を圧縮し、圧縮されたまま読み書きを可能にするもの。このユーティリティに用いられている技術の一部がスタック・エレクトロニクス社の特許を侵害しているものとして、訴訟を起こされた。 MS-DOS 6.0 のユーザはオンラインの無償アップデートパッケージを入手することで MS-DOS 6.2 にアップグレードできた。
MS-DOS 6.2/V（1993年12月） - 日本ではマイクロソフトが自社ブランドで発売した唯一の日本語版MS-DOS単体パッケージ「マイクロソフト、MS-DOS最新版、自社ブランドで発売。」『日経産業新聞』 1993年12月7日、6面。。IBM DOS J5.0/VまたはMS-DOS 5.0/Vからのアップグレードのみ。5.0/Vと同様にOEMでも供給。
MS-DOS 6.21（1994年2月）- マイクロソフトによるスタック・エレクトロニクス社の特許侵害が一部認められたため、「DoubleSpace」を除去したもの。Microsoft settles for piece of the Stac, Computerworld, June 27, 1994The DOS heavyweights go another round, InfoWorld, August 29, 1994
PC DOS 6.3（1994年4月）IBM. IBM PC DOS Version 6.3. 1994-04-27 ([28]). - IBMの独自ビルド。MS-DOS 6.2 同様、オンラインの無償アップデートパッケージを入手してPC DOS 6.1 から 6.3 にアップグレードできた。
MS-DOS 6.22（1994年6月） - スタック・エレクトロニクス社の特許を侵害しない形で作成されたものが「DriveSpace」として改めて添付された（ただし、日本語版には関係ない）。なお、DoubleSpaceとDriveSpaceの圧縮機能には互換性がなく、そのままでは互いに圧縮されたパーティションにアクセスすることができない。Judge rules against Microsoft, Computerworld, June 13, 1994MS-DOS recall order may disrupt supply line of PCs, InfoWorld, June 20, 1994

バージョン7（マイクロソフト版）
Windows 95/98/98SE に含まれているバージョン。ファイルシステムでは長いファイル名がサポートされたのが最大の特徴。従来のMSDOS.SYSは名前こそ同じであるがプログラムではなく設定ファイルとなった。IO.SYSが実行する標準シェルはWindowsを起動するためのWIN.COMであるが、MSDOS.SYSを編集することでWindows 95/98ではWindowsを起動せずにMS-DOSモード（COMMAND.COM）で起動することができた。Windows 95初期（OSR1）までのバージョンは7.0だが、Windows 95のOSR2以降ではFAT32にも対応しているバージョン7.1である。

バージョン7（IBM版）
1995年リリース。IBM版のみ。開発環境として「REXX」を標準添付。ディスク圧縮ユーティリティは「SuperStor/DS」から「Stacker4.0」に変更されたPC DOS 7 beats its disappearing competitors, InfoWorld, April 10, 1995。MS-DOS 7（マイクロソフト版）とは異なりGUIとの融合はされなかったが、当時インターネットの普及が進んでいた中でPalm Top PC 110の人気を受けてPC DOS用ウェブブラウザ「WebBoy」が開発された。
 PC DOS 7（1995年4月）IBM. IBM PC DOS Version 7. 1995-02-28 ([29]).
 PC DOS 2000（1998年5月）IBM. IBM PC DOS 2000 Can Ease Your Transition to the Year 2000. 1998-05-26 ([31]). - PC DOS 7 をベースに、ユーロ記号の表示や西暦2000年問題に対応したもの。VERコマンドではPC DOS Version 7.0 Revision 1と表示される。日本語版は製品名から「/V」が外れたが、「DOS/V」部分を含んでいる。これがPC DOS(IBM DOS)およびMS-DOS全体の事実上の最終バージョンとなる（互換OSは除く）。2001年にはサポートが終了した。

 バージョン8（マイクロソフト版） 
Windows Meに含まれているバージョン。IO.SYSにHIMEM.SYSおよびSMARTDRV（ディスクキャッシュ）の機能を統合した最終版であり、MS-DOSモードでの起動も廃止されWindowsのブートローダの機能のみとなった。Windows MeやWindows XP以降で起動ディスクを作成するとこのMS-DOSが書き込まれる。

MS-DOSとの互換性を持つオペレーティングシステム

MS-DOSとバイナリ互換性を持つオペレーティングシステム
DR-DOS
PC-Engine（PC-88VA）
TownsOS（FM TOWNS）
FreeDOS
PTS-DOS(試用版)
RxDOS

またPC-9800シリーズ全盛期には、ゲームソフトの組み込み用として下位互換（INT21系のサブセットのみ互換）の「MEG-DOS」などがあった。アリスソフトの「ALICE-DOS」は、もともとゲームソフト本体はMS-DOSをインストールしたハードディスクドライブ上で動かすことを前提としあくまでもフロッピー単体でも起動するようサポート用に作られたものであったため、バッチファイルを動かす機能も有していた。
なお、互換性はあるがOSではないものにDOSBoxがある。

MS-DOSの影響を受けつつもバイナリ互換性の無いオペレーティングシステム
Human68k（ハドソン、シャープ） - X68000、ファイルシステムにFAT12/16のサブセットを採用、COMMAND.COMに酷似したコマンドラインインタプリタや、システムコールのファンクションにもINT21Hを真似た設計が見られるなど、影響を（主に開発工期の短縮などの側面から）強く受け模倣していることは明らかではあるが、その他は全く別個の実装であり、CPU自体にも互換性は無い。
Carry日本語DOS（キャリーラボ） - PC-8800シリーズ/X1。通称CDOS-II。ファイルシステムのみFAT12に対応したOSで、CP/Mエミュレータが存在した。Z80を前提としたCP/Mのバリアント（変種）であり、MS-DOSの移植ではない。当然MS-DOS用のバイナリも動作しない。パソコン通信ソフトの一部としても使用され、PC-8800シリーズ版はJET-TERMに、X1シリーズ版はJETターボターミナル（SPS発売）に付属する。PC-8800シリーズ版はOSのみのフリー版がある。前身であるCarryDOS(CDOS)とはファイルシステム、システムコールともに互換性はない。
MSX-DOS （マイクロソフト、アスキー） - MSX、FAT12のサブセットに対応し、MS-DOSのCOMMAND.COMに酷似したコマンドインタプリタがある、CP/M互換OS。CDOS-IIと同様にCP/Mのバリアントであり、MS-DOS用のバイナリは動作しない。表計算アプリケーションMultiplanの一部として、PC-8800シリーズ、X1シリーズ、MZ-2500にもサブセット版がある。
IDOS（ソフトバンク） - PC-8800シリーズ、PC-8000シリーズ、ファイルシステムのみFAT12に対応した、CP/M互換OS。

脚注

 注釈 

 出典 

関連項目

DOS (オペレーティングシステム)
マイクロソフトの歴史
Windows 9x系
仮想DOSマシン
Win32コンソール

外部リンク

 DOSの歴史セミナ（Altair☆） - （2024年11月30日時点のアーカイブ）
パソコン産業およびパソコン技術の歴史関連URL
（「Software Design」1998年6月号に掲載されたものを、編集部の許可のもと転載）
PC DOS 7 の修正入手先
 日本IBM・PC DOS 2000 - （2014年3月15日時点のアーカイブ）

 MS-DOS v4.0のソースコード - GitHub



*
*
Category:DOS
Category:IBMのオペレーティングシステム
Category:パソコンの歴史
Category:1981年のソフトウェア
Category:自由ソフトウェアOS
Category:マイクロソフトのフリーソフト
Category:廃止されたマイクロソフトのソフトウェア