MS-DOS
1980年7月頃、IBMは後にIBM PCとなるパーソナルコンピュータの開発に着手した。しかし、IBMの主力商品である汎用コンピュータに比べるとごく少数のスタッフとわずかな予算しか与えられなかった。プロジェクトリーダーのフィリップ・ドン・エストリッジ(英語版)は、すぐに商品化できるようソフトウェアは自社開発せず、すべて外部から調達する方針を立てた。
当時のマイクロソフトはBASICインタプリタやアセンブラならびに各種言語のコンパイラ等を開発しており、それらの製品のほとんどが当時のパーソナルコンピュータ市場におけるデファクトスタンダードOSであるデジタルリサーチのCP/M上で動作するものであった。
IBMはマイクロソフトに対し当初はBASICなどの言語製品の開発を依頼していた。OSについても8086対応版のCP/Mをマイクロソフトに開発してもらおうとした。しかし彼らはCP/Mのソースの権利を持っていなかった為、ビル・ゲイツのアドバイスに従ってデジタルリサーチと交渉することにした。ところがデジタルリサーチとの交渉はうまくいかず、再びマイクロソフトに開発の依頼を持ち込んだ。
IBMはIBM PC用のオペレーティングシステムの開発をマイクロソフトに依頼し1981年にIBM PC DOSとして発売したが、このOSをマイクロソフト経由で他社にOEM提供したものがMS-DOSである。ただしマイクロソフトは現在ではMS-DOSは1981年発売と説明している。IBM PC DOSとMS-DOSはバージョン5まではほぼ同内容だが、バージョン6以降は独自機能が追加された。
MS-DOSはCP/M類似のIntel 8086系向けの16ビット オペレーティングシステムだが、IBM PCの成功によりパーソナルコンピュータ市場でデファクトスタンダードとなり、後に8ビットなど各種のCPUやコンピュータ用にも移植され、また各種の組み込み機器でも使用された。
起動順序はバージョンによって若干違うが、概ね以下の通りである。
コンピュータのROM BIOSやディスクのマスターブートレコードからディスクのセクタ0にあるブートセクタを読み込んで実行。
ディスクからIO.SYSとMSDOS.SYSがメモリ中にロードされる。
IO.SYSを起動し、その後MSDOS.SYSに制御を移行する。
CONFIG.SYSが起動ドライブのルートディレクトリにあれば、そこに記述されたデバイスドライバを読み込む。
バッチ処理のためのコマンドインタプリタでもある標準シェルのCOMMAND.COMを起動する。
AUTOEXEC.BATが起動ドライブのルートディレクトリにあれば、その内容を実行し、環境変数の設定や起動時に実行すべきコマンド等の呼び出し、場合によってはアプリケーションの起動なども行う。
COMMAND.COMでは、各ドライブをA:から最大Z:までのドライブレターで管理し、内部コマンドではファイル・ディレクトリ一覧の参照、ファイルとディレクトリの作成・コピー・名前変更、コンピュータの時刻や環境変数およびパスの設定参照などができるほか、外部コマンドやアプリケーションなどの実行形式のファイルの起動が行えた。またVer.2以降ではUNIXを意識した入出力のリダイレクト機能やパイプ機能なども利用できたが、MS-DOS上のパイプやリダイレクトはいずれもテンポラリファイルを介した擬似的な実装に留まっていた。
IBM PC/XTの仕様に合わせ、HDDや360KB 5.25インチフロッピーディスク (2D) をサポートしている。階層構造ディレクトリ、CONFIG.SYSによるデバイスドライバの追加機能、UNIXライクなパイプ等の機能が追加された。アセンブラのMASMが付属していた。
マイクロソフト版はこのバージョンより名称が「MS-DOS」に一本化された。
バージョン2.0(1983年3月) - PC/XT 出荷と同時にリリースされた。
バージョン2.01(1983年5月) - 日本では「日本語MS-DOS 2.0」としてリリースされ、パソピア16などに採用された。
バージョン2.1(1983年10月) - IBM PCjr 向け。
バージョン2.11(1983年10月) - バージョン2.01とバージョン2.1を統合。アジアやヨーロッパなど多言語市場を意識し、文字セットや日付表示のローカライズをサポート。各社のx86パーソナルコンピュータ向けに広く利用された他、日本ではアスキーの市場戦略の関係で、市販ソフトウェアにサブセット版のバンドルが許されていた。
バージョン2.25(1985年10月) - 東アジア市場向けに2バイト言語に対応を図った「アジアバージョン」。理由不明だが、日本市場においてはバージョン2.11の名称で流通した(MSDOS.SYS内部に2.25の表記あり)。
従来の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の主要なバージョンの一覧は以下の通り。