MS-DOS
出典: フリー百科事典『ウィキペディア(Wikipedia)』
開発者: | マイクロソフト |
OSの系統: | DOS |
ソースコード: | クローズドソース |
最新リリース: | 8.0 / 2000年9月14日 |
カーネル種別: | モノリシックカーネル |
ユーザ インタフェース: |
DOS CLI |
ライセンス: | プロプライエタリ |
開発状況: | 終了 |
MS-DOS(エムエス-ディーオーエス、エムエス-ドス、Microsoft Disk Operating System)は、マイクロソフトが開発・販売していた、パーソナルコンピュータ向けの16ビットOSである。
本来はIBMのPC DOSを除いた、マイクロソフトによるOEM版のみを指すが、本稿では両者を説明する。
目次 |
[編集] 名称
「DOS」とは本来は「ディスク装置を管理できるOS」全般(→DOS (OS)を参照)だが、現在は主にMS-DOS(およびPC DOS)を指す。
正式にはIBMから供給されるものがPC DOS(一部バージョンはIBM DOS)、マイクロソフトがIBM以外のメーカー用にカスタマイズしOEM供給するものがMS-DOSだが、日本では両者を含めMS-DOSと呼ぶ場合も多い。
- MS-DOSの名称
- 通常は「MS-DOS」、日本語版は「日本語MS-DOS」である。
- PC DOSの名称
- バージョン1~3は、正式名称は「IBM Personal Computer Disk Operating System」、略称は「PC DOS」だが、「PC-DOS」とハイフン(-)を入れた略称も多用される。日本語版は単に「日本語DOS」である(マルチステーション5550、IBM JX)。
- バージョン4~5は、正式名称が「IBM DOS」となった(通称ではない)。日本語版は「J」で表記した(例・IBM DOS J4.0)。
- バージョン6~7および2000は、正式名称が「PC DOS」となった(略称ではない)。
→各社・各バージョンの名称は、MS-DOS#バージョン一覧も参照
なお、MS-DOSという名称の影響で、マイクロソフト製品に関してはMS-Windows、MS-Office、MS-Basicなど、"MS-"を付ける略称が一般的だが、いずれもMicrosoftを略した俗称であり、正式名称として"MS-"がつくのはMS-DOSだけである。
[編集] 概要
MS-DOS(およびPC DOS)の概要は以下である。
- IBMがIBM PC用にマイクロソフトに開発を依頼し、マイクロソフトが開発・提供した
- IBMからはPC DOS、マイクロソフトから各メーカーにはMS-DOSが提供された
- 当時はCP/Mが主流であったが、16ビット市場では、海外・日本ともに主流OSとなった
- 16ビットOSである(後にはDOSの拡張により、32ビット機能を一部使用できた)
- UNIXを参考にしたファイルシステムを持つが、ファイル名の制約などが多く、かなり原始的である
- 基本操作はCUIである(各ハードベンダーや各バージョンのグラフィックメニューが付属した場合も多い)
- アーキテクチャの異なるパーソナルコンピュータ間では、MS-DOS同士でもソフトウェアの互換性はほぼ無かった(DOSは画面まで制御しないため、各ソフトウェアは各機種のハードウェアを直接操作するしかなく、機種依存となった)
- 現在ではMicrosoft Windowsに主役を移している
- MS-DOSの販売はバージョン6まで(7以降はMicrosoft Windowsの内部バージョン)
- PC DOSの最新版はPC DOS 2000(2008年現在、販売中)
動作対象は、8086系16/32ビットマイクロプロセッサ、及びその互換プロセッサを搭載したパーソナルコンピュータである。クロス開発環境などでは、8086系マイクロプロセッサをエミュレートした仮想ハードウェア上で動作させることもあった。
日本ではMS-DOSがNECのPC-9800シリーズや、富士通のFMRシリーズ等に移植され、事実上の標準OSとして利用されていた。
MS-DOSは、1995年時点で全世界で1億本を出荷した[1]。
[編集] 開発の経緯
当時のマイクロソフトは、BASICインタプリタやアセンブラ、各種言語のコンパイラ等を開発しており、それらの製品のほとんどが、当時のパーソナルコンピュータ市場におけるデファクトスタンダードOS、デジタルリサーチのCP/M上で動作するものであった。
1980年7月頃、IBMは、後にIBM PCとなるパーソナルコンピュータの開発に着手した。しかし、IBMの主力商品である汎用コンピュータに比べると、ごく少数のスタッフとわずかな予算しか与えられなかった。プロジェクトリーダーのフィリップ・ドン・エストリッジは、可及的速やかに商品化にこぎ着けるために、ソフトウェアは自社開発せず、すべて外部から調達する方針を立てた。
IBMは、マイクロソフトに対し、当初はBASICなどの言語製品の開発を依頼していた。OSについても、8086対応版のCP/Mをマイクロソフトに開発してもらおうとした。しかし、彼らはCP/Mのソースの権利を持っていなかった為、ビル・ゲイツのアドバイスに従ってデジタルリサーチ社と交渉することにした。しかし、デジタルリサーチとの交渉はうまくいかず、結局マイクロソフト自身がOSを開発する事となった。
とは言うものの、マイクロソフトにはOSの開発経験は無かったため、同じ頃、CP/Mが8086に移植されない事に業を煮やして独自に移植作業を行っていたシアトルコンピュータプロダクツ社の「86DOS」を開発者込みで買収し、IBM PC用に改修した。このやり方を進言したのは、当時同社役員でもあった西和彦と言われている。
[編集] 各メーカーへのOEM供給
IBMは当初は「PC DOS」名称でIBMのみへの供給を主張し、マイクロソフトはIBM以外のメーカーへのOEM供給を主張した結果、「IBM用はPC DOS名称。マイクロソフトによる各メーカーへのOEM供給も認めて普及を図る」という役割分担(妥協)となったと言われる。(この役割分担はOS/2での「IBM OS/2」「Microsoft OS/2」にも引き継がれることになる。)
リスクを軽減化するために買い取りを避け、IBM PCの出荷台数に対して使用料を支払うというライセンス契約をしたこと、そしてマイクロソフトから各メーカーへの自由なOEM供給を認めた事が、後のマイクロソフトの躍進の原動力と言え、また見方を変えれば、最終的に「軒先を貸して母屋を取られた」IBMの大失策であるとも言えるが、MS-DOS(およびPC DOS)の普及(デファクトスタンダード化)を決定づけたとも言える。
なお「MS-DOSエンサイクロペディア」によると、IBM以外の各メーカーへのOEM供給版に自社の商標(MS)をつけ、MS-DOSとしたのは、各OEM先が勝手な名前をつけていたため、混乱を避けるために整理したものとされている。これは、IBM以外への初期のOEM供給が、Zenith DOS(ZDOS)などOEM先の名称で販売され、その後のバージョン2で「MS-DOS」名称が初めて登場した事を指していると思われる。
なお、富士通FM TOWNSのTownsOSや、各種の制御機器など、内部的にMS-DOSがOEM提供されている場合も多い。この場合はMS-DOS名称はユーザーに見えない場合が多い。
[編集] 機能
DOSと名付けられているように、汎用コンピュータなどのOSとは違い、主にディスクの管理を行うシングルタスクOSであった。マルチタスク機能・メモリ保護機能などは、OS内部には持っていなかった。また、グラフィック画面やサウンドの操作・ネットワーク機能などは、アプリケーションが直接I/Oを操作するか、デバイスドライバやMicrosoft Windowsなどで提供されていた。
[編集] ファイル管理
ファイルの管理は、FATとクラスタにより構成され、ファイル名は8.3形式(8文字までのベース名と3文字までの拡張子の合計11文字まで(拡張子の前の「.」は数えない))で表す。アルファベットの大文字と小文字は区別しない(全て大文字と見なされる)。さらにバージョン2以降では、ディレクトリやファイル属性の与奪が使用できた。
[編集] 起動順序
起動順序はバージョンによって若干違うが、概ね以下の通り。
- コンピュータのBIOSやディスクのマスターブートレコードからディスクのセクタ0にあるブートセクタを読み込んで実行。
- IO.SYSを起動し、その後MSDOS.SYSに制御を移行する。
- CONFIG.SYSがあれば記述されたデバイスドライバを読みこむ。
- バッチ処理のためのコマンドインタプリタでもある標準シェルCOMMAND.COMを起動する。
- AUTOEXEC.BATがあればその内容を実行し、環境変数の設定や起動時に実行すべきコマンド等の呼び出し、場合によってはアプリケーションの起動なども行う。
COMMAND.COMでは、各ドライブをA:から最大Z:(これは環境変数LASTDRIVEで変更可)までのドライブレターで管理し、内部コマンドではファイル・ディレクトリ一覧の参照、ファイルとディレクトリの作成・コピー・名前変更、コンピュータの時刻や環境変数およびパスの設定参照などができるほか、外部コマンドやアプリケーションなどの実行形式のファイルの起動が行えた。またVer.2以降ではUNIXを意識したリダイレクトやパイプなども利用できたが、MS-DOS上のパイプやリダイレクトはいずれもテンポラリファイルを介した擬似的な実装に留まっていた。
[編集] 実行ファイル
MS-DOSにおける実行ファイルの形式には、現在のUNIX系環境で言うシェルスクリプトに類似した、コマンドのバッチ処理を記述するBATファイルと、CPUが直接実行するバイナリファイルに大別することができる。
このうちバイナリファイルには、単一のセグメントを使うCOM形式、各セグメントが異なるアドレスに設定される場合のEXE形式、さらにデバイスドライバとしてSYS形式が存在し、それぞれ同名の拡張子を持つ。
COM形式の実行ファイルは、バイナリ読み込み時に設定されるコード・データ・スタックの各セグメントが同一アドレスに設定され、プログラム内部でセグメントを操作しない場合は単一セグメント、最大64KBのメモリ空間を操作する。CP/M80用に書かれた8080用のアセンブリ言語のソースコードを8086へコンバートした場合を想定したメモリモデルであるが、.COM形式のバイナリであってもプログラム側で適切にセグメントを操作することで64KB以上の空間へのアクセスが可能である。
このうち.SYS形式のバイナリは、原則的に起動時に一度だけ実行されるCONFIG.SYSに記述する以外の方法では直接読み込むことができない。ただし、NECのPC-9800シリーズ版の一部からADDDRV.EXEと登録を記述したファイルの組み合わせにより登録し、DELDRV.EXEで外せるようになった(キャラクタデバイスのみであり、CONFIG.SYSで一度登録したデバイスドライバは外せない。IBM PC用では何種類かサードパーティで同様のプログラムが作成されている)。
[編集] システムコール
システムコールは、通常、INT21hにより呼び出されるが、8080やZ80などの8ビットのコンピュータではメジャーな存在だったCP/Mとの互換性、特に8080用にアセンブリ言語で書かれたソースコードを8086にコンバートして用いる場合を想定し、call 5でも利用可能としてCP/M 80からの移行を促した。
[編集] メモリ管理
MS-DOSにおいて、DOS自身のカーネルを含む、プログラムの実行に確保できるメモリ空間(ユーザーメモリ、コンベンショナル・メモリ)は、8086のアドレス空間の最大1MBである。ほとんどのコンピュータでは、この空間にBIOS ROMやメモリマップドI/O、VRAMなどの空間も存在するため、バンク切替えや様々なメモリ拡張手段などを用いずに一時にアクセス可能なメモリ空間は、最大でも640KB(IBM PC互換機およびPC-9800シリーズ等)から768KB程度(PC-H98やFMRシリーズ・FM TOWNSなど)であった。
- ※ ただし、RAMディスクドライブやディスクキャッシュなどは、バンクメモリやEMS、プロテクトメモリ(80286/386以降)等のコンベンショナルメモリ以外の領域・手段の利用が一般化していたため、「貴重な」コンベンショナルメモリがこれらの領域によって圧迫されることは無かった。
日本語入力用のFEPなどの常駐型のデバイスドライバを使用すると一度に使用できるユーザーメモリはさらに減少するため、ユーザーはEMSやXMS、HMAやUMBなどの拡張メモリの管理機能を利用して、辞書や常駐部やMS-DOSシステムの一部をそれらへ配置し、コンベンショナルメモリの圧迫を少しでも避けることが重視されるようになった。
これらのメモリへの配分設定はCONFIG.SYSやAUTOEXEC.BATを記述することで行い、事実上ユーザーに一任されていた。
バージョン3までは、これらの設定を行うためにはサードパーティー製のメモリドライバ等を使用する必要があったが、バージョン5では標準機能としてOSに組み込み、メモリドライバやデバイスドライバも付属するようになった。またこれらの環境設定を半自動的に行う設定アプリケーションも添付された。
メモリドライバや各種デバイスドライバには組み込み用のバッチやスクリプト、設定アプリケーション等が整備され、「とりあえず動く」という状態を作るだけであればエンドユーザーがこれらを直接操作する必要はほぼ無かったが、千差万別なユーザーの環境にこれらが対応することもまた困難であり、ひとたびイレギュラーが発生した場合、それらのお仕着せの環境に頼り切ったユーザーには事態収集の敷居が高かったのも事実である。 また「とりあえず」に飽き足らず、無駄を省き最適な設定をするためには、知見と試行錯誤が要求されるある種の職人芸的な資質が要求されたため、これらの事情が「MS-DOSの環境設定は非人間的で困難なものであった」とする後世の評価を招く原因ともなった。
[編集] Windows 9x
Windows 9x系のOSは、OSとしてはWindowsという形で提供されているが、実際には、MS-DOSの上でGUIの処理を行なう形で動いていた(ただし、Windowsが使用するMS-DOSシステムコールはごく一部に限られる)。こちらではVFATなどによりファイル管理方法が拡張されている。なおWindows本体を起動していない場合は、VFAT上のロングファイルネームでも、8文字+拡張子3文字のショートファイルネーム形式のファイル名で表示された。
[編集] バージョン
[編集] バージョン一覧
主要なバージョンの一覧は以下である。
バージョン | 出荷開始 | IBM | マイクロソフト | 備考 |
---|---|---|---|---|
1 | 1981年 | PC DOS 1.0 | MS-DOS 1.25 | IBM PC用に登場。1.25よりマイクロソフトがIBM以外にOEM供給を開始。 |
2 | 1983年 | PC DOS 2.0 | MS-DOS 2.0 | PC/XT用に登場。階層ディレクトリ。日本でPC-8801、PC-9801用の日本語MS-DOSを出荷。 |
3 | 1984年 | PC DOS 3.0 | MS-DOS 3.0 | PC/AT用に登場。FAT16。広く普及し事実上の標準に。同時期にDR DOS 4も出荷。 |
4 | 1988年 | IBM DOS 4.0 | MS-DOS 4.0 | IBM版が名称変更。DOSシェル。IBM版4.05より日本でDOS/V(IBM DOS J4.05/V)も登場。 |
5 | 1991年 | IBM DOS 5.0 | MS-DOS 5.0 | メモリ管理機能強化。IBMとマイクロソフトのOS共同開発の最終版。日本でマイクロソフト版DOS/V(MS-DOS 5.0/V)も登場し、各社PC/AT互換機に広く採用される。同時期にDR DOS 6.0出荷。 |
6 | 1993年 | PC DOS 6.1、PC DOS 6.3 | MS-DOS 6.0、MS-DOS 6.2 | IBM版が名称再変更。主に付属ユーティリティの違い。MS-DOSは単体販売の最終版。同時期にNovell DOS(DR DOS) 7出荷。 |
7 | 1995年 | (なし) | (MS-DOS 7) | Windows 95/98の内部バージョン。PC DOS 7とは全く別物。 |
1995年 | PC DOS 7 | (なし) | スクリプト言語のREXXをサポート。MS-DOS 7とは全く別物。 | |
8 | 2000年 | (なし) | (MS-DOS 8) | Windows Meの内部バージョン。 |
2000 | 1998年 | PC DOS 2000 | (なし) | ユーロ記号、2000年問題対応など。販売中。 |
[編集] バージョン1
CP/M程度の機能しか持たない、基本的なディスクオペレーティングシステム。ファイルシステムは、後のバージョンで実装された階層構造を持っておらず、ディレクトリが利用できない。CP/Mとの大きな違いは、汎用化の為に入出力デバイスの機種依存が無くなっている点であった。その為、ハードウェアにROMとして内蔵されたBIOSを通して入出力を行うようになっていた。なお、この仕組みは、互換BIOSを利用したPC互換機を生み出す要因ともなった。
このバージョンが使われていた頃は、8086またはその互換プロセッサ(8088等)を利用したパーソナルコンピュータ市場もそれほど大きくなかった為、出荷本数の大半はIBM PCにバンドルされた分だった。
- バージョン1.0 - 1981年8月
- IBM PC(初代)出荷と同時にリリース。64KBのメモリ空間のうち約12KB(そのうちシェルが5KB)を占有した。また、160KBの5.25インチフロッピーディスク(1D)をサポートしていた。
- バージョン1.1 - 1982年5月
- 360KB 5.25インチフロッピーディスク(2D)サポートの他、一部のバグフィクス。
- バージョン1.25 - 1982年5月
- IBM PC互換機及び8086プロセッサを利用したパーソナルコンピュータ向けに、自社ブランド(MS-DOS)での販売を開始した。日本ではPC-8801用16ビットCPUボードに付属して販売された他、PC-9800シリーズ用に販売された。
[編集] バージョン2
IBM PC/XTの仕様に合わせ、HDDや360KB 5.25インチフロッピーディスク (2D) をサポートしている。階層構造ディレクトリ、config.sysによるデバイスドライバの追加機能、UNIXライクなパイプ等の機能が追加された。アセンブラのMASMが付属していた。
- バージョン2.0- 1983年3月
- PC/XT出荷と同時にリリースされた。
- バージョン2.01
- バージョン2.1 - 1983年10月
- IBM PCjr向け。
- バージョン2.11 - 1984年3月
- 他言語市場を意識し、文字セットや日付表示のローカライズをサポート。
- バージョン2.25 - 1985年10月
- 東アジア市場向けに2バイト言語に対応を図った「アジアバージョン」。理由不明だが、日本市場においてはバージョン2.11の名称で流通した(MSDOS.SYS内部に2.25の表記あり)。各社独自に拡張され、x86プロセッサを搭載したパーソナルコンピュータ向けに広く利用された他、当時マイクロソフトの代理店であったアスキーの市場戦略の関係で、市販ソフトウェアにサブセット版のバンドル(添付)が許されていた。
[編集] バージョン3
当初IBM PC/AT用に発売。主としてネットワーク対応と大容量HDD対応の為の16ビットFATが追加された。もっとも、管理できるセクタ数が65535個であったため、32MB以上のパーティションを切ることは出来なかった。本来80286プロセッサを搭載したPC/AT向けだったが、互換性確保目的で80286のプロテクトモードを利用した新機軸は敢えて盛り込まれなかったため、サードパーティー製の各種ユーティリティによって機能拡張するユーザが多かった。
ベンダーによる独自拡張などで方言が多く、バージョン番号の体系も大きく乱れている。必要十分なスペックと安定性が評価され、またバージョン4以降の仕様変更の影響を避けるために、一部ではかなりの長期間に亙って愛用されていた。
- バージョン3.0 - 1984年8月
- PC/ATの発売と同時にリリースされた。1.2MB 5.25インチフロッピーディスク(2HD)及び32MBまでのHDDをサポート。HDDの論理ボリュームは1つのみ。
- バージョン3.1 - 1984年11月
- 3.0のバグフィックス版。ネットワーク機能としてトークンリングに対応した。但し、性能が低く、専らノベルのNetWareなどのNOSが一般的に用いられた。
- 日本ではNEC PC-9800シリーズ、富士通 FMRシリーズ及びFM TOWNS(尚FMR・TOWNSシリーズ用の3.1の後期バージョンでは米国版の3.2/3.3の機能の一部が取り入れられていた)、シャープ MZシリーズなどに独自拡張したバージョンが用いられた。
- NECのPC-98LT、Handy98、富士通のFM TOWNSにはROMで内蔵されていた。
- バージョン3.20 - 1986年1月
- 720KB 3.5インチフロッピーディスク (2DD) をサポート。
- バージョン3.21
- 3.20のアジアバージョン。2バイトコードに対応し、日本ではAXなどに採用された。
- バージョン3.3(IBM PS/2版)- 1987年4月
- 1.44MB 3.5インチディスク(2HD)をサポート。多言語対応の為、コードページが採用された。
- バージョン3.3(OEM版) - 1987年8月
- HDDにおいて複数の論理ドライブを扱えるようになった。
- バージョン3.3(NEC版)
- 3.21を元に独自拡張。いわゆる「エプソンチェック」が掛けられるようになった。
- バージョン3.3A(NEC版)
- 3.3を元に独自拡張している。
- バージョン3.3B(NEC版)
- バージョン3.3C(NEC版)
- バージョン3.3D(NEC版)
- バージョン5.0(NEC版)と同時発売。見かけ上のセクタサイズを1KB若しくは2KBとすることで最大128Mのパーティションを管理することが出来た。
[編集] バージョン4(1986年)
バージョン3.20から派生し、8086上で限定的な擬似マルチタスク環境を実現したもの。MSが開発したが不十分であるとしてIBMには採用されず、アプリコットコンピューターズ(英) にネットワークOSとしてOEMされた他、僅かの用途に留まり絶滅亜種になってしまった。非同期I/O対応やバックグラウンドタスク規約など、資産の一部はWindows 2.xに流用され、また80286プロテクトモードを前提に並行開発されていたもの(当初バージョン5と呼ばれていた)は、IBM主導で大幅に改訂され、世に出た時にはOS/2バージョン1.0になっていた。
[編集] バージョン4
IBM主導で開発されたバージョン。OS/2色が濃くなり、IFSやラージバッファ等の追加のみならず、管理セクタ数が増やされた事に伴いHDDは理論上最大2GBの領域を扱うことができるようになった(実際にはBIOSの制限があった)他、添付ユーティリティを利用すると最大512MBのパーティションまで作成可能になったが、その反面余りに多くの変更がファイルシステムに加えられたため、非互換性の問題も生じてしまった。
情報が全部公開されていなかったものの、2バイトコードによるユニバーサルランゲージ対応が内部的に完了したのも本バージョンからである。従来のバンクメモリに代るEMSの標準サポートによって、扱えるメモリ領域が1MB以上に拡張された。
互換OSのDR DOSで好評を博していた「GEM」に類似のGUI環境、「DOSシェル」が添付された。これは、マウスオペレーションやグラフィカルなメニューによる直感的な操作が行えるもので、依然シングルタスクながらも複数のアプリケーションを重複起動して切替動作させることができ(いわゆるタスクスイッチャ)、GUIもキャラクタベースによる簡易なものと、グラフィック画面とテキスト画面を組み合わせたもの(表示が美しく、ポインタの動作もスムーズになる)とを選択できた。DOSSHELLのデザインはIBM SAA CUAに準拠していた。
本バージョンは、性急な複雑化に伴い非常に多くのバグが存在し、またOS自体が消費するメモリが過大だったため、メーカーによってDOS 3.30を拡張したDOS 3.31を採用するなどして、4.0を採用しないところが有った。コンベンショナルメモリの空き容量が日本語処理アプリケーションの稼動に直接影響する日本では、大手メーカーであるNEC、富士通などが3.3系の拡張版のみを販売していたため、ユーザー数はそれほど多くはなかった。EPSONからは、PC-9801互換機用としてリリースされていた。
- MS-DOS 4.0(マイクロソフト版)- 1988年6月
- IBM DOS 4.0(IBM版) - 1988年7月(PC DOSより改称)
- MS-DOS 4.01(マイクロソフト版)- 1988年12月
- バグフィクス。
-
- IBM DOS J4.05/V - 1990年 (日本のみ)
- いわゆる「DOS/V」の最初のバージョン。末尾の「V」はVGAを意味し、漢字ROMがなくても日本語表示が出来るように拡張されたもので、専用ハードウェアを付加することなく日本語対応が可能になったため、内外のPC/AT互換機メーカーが日本市場に参入する契機になった。
[編集] バージョン5
再びマイクロソフト主導で開発された。バージョン4で付加された中途半端なユーティリティの多くが削除された一方、80386, i486等に備わる仮想86モードの活用とWindows 3.0との親和性を主眼に、ほぼ全面的に再コードされたため、パソコン通信等を介した約1年に亙る大規模なベータテストを経て市販開始された。IBMの新製品にバンドルされず、巷に溢れるPC/AT互換機へのフル対応を始めから唱いインストーラ込みで発売された、最初のMS-DOS(IBM DOS、PC DOS)でもある。
メモリ消費は少ないものの大容量ドライブが扱えないバージョン3、その逆で大容量ドライブが使えるがメモリ消費が大きいバージョン4というジレンマを抱えていたが、限りあるメモリ領域の消費を抑える機能を追加することで、それまでの問題を払拭するに至った。このバージョンによりDOSはほぼ完成を見たが、8086~80286とその互換CPU上の動作には制約が強まり、結局のところ巧妙なアップグレード戦略の下でハードウエアの買い替え需要が喚起された。
XMSによってDOS本体の一部をHMAに、デバイスドライバやアプリケーションの一部をUMBに待避させることが可能で、コンベンショナルメモリを大きく取れるようになった。またタスクスイッチ規約が明確に定義され、DOSシェルの機能拡張(Windows 3.0のサブセット化)が図られた。各種LAN対応も進められ、コマンドにヘルプが付されるなど、利便性も向上した。
テキストエディタは、過去のバージョンに標準添付されていたラインエディタ「EDLIN」に加え、スクリーンエディタが添付された(PC/AT互換機用・EPSON PC版は「EDIT」だったが、NEC版は「SEDIT」(ちなみに、こちらはメガソフト社のMIFESのサブセット版)、富士通版(FMRシリーズ、FM TOWNS用)は「EDIAS」と、それぞれ各社ばらばらだった)。開発環境として、コマンドラインエディタに加え、独自に拡張された構造化BASICコンパイラQuickBASICが標準添付されていた。
- それまで未公開だったファンクションの多くがユーザに解放されたため、カスタマイズやデバイスドライバ開発が更に容易になり、日本ではPC/AT互換機をベースに独自の拡張を行っていたAX陣営や東芝(J-3100)も、この頃よりDOS/Vへのシフトを進めるようになった。また、世界のデファクトスタンダードであるPC/AT互換機のハードウェアでそのまま日本語版OSを使えるようになった為、日本国外のメーカーが積極的に日本市場へ参入し始め、NECの独壇場であった日本市場は大きく変貌することとなった。
- MS-DOS 5.0 - 1991年6月
- IBM DOS 5.0 - 1991年6月
- 他マイナーバージョンアップやローカライズ版多数
[編集] バージョン6
MS-DOS単体としての最終版。ディスク最適化やディスク圧縮機能(後述)、コンピュータウイルス検出・除去など、ユーティリティーによる付加機能の充実が主。
デジタルリサーチからMS-DOS互換のDR-DOS 6.0が発売された。大きな特徴は補助ユーティリティの大幅な増強である。その為、IBMおよびマイクロソフトでも、基本仕様はほとんど変えずに補助ユーティリティを追加する事でバージョン6を発売することになった。IBMは6.1、それに続くマイクロソフトは6.2と、先に出た競合相手よりバージョン番号はそれぞれ0.1だけ大きい。
起動時に特定のキーを押すとCONFIG.SYS・AUTOEXEC.BATの一部の行を実行したり、全てバイパスする機能があった。
同時期に発売されたWindows 3.1の普及促進のため、販売戦略的にDOSシェルは廃止された(別途サプリメンタルディスクを入手する必要があった。NEC版には従来どおり付属)。テキストエディタも共通のEDITとなった(NEC版のみ従来どおりSEDITが付属)。
- MS-DOS 6.0 - 1993年3月
- PC DOS 6.1(IBM DOSより名称変更)
- IBMの独自ビルド。初期のバージョンにはディスク圧縮ユーティリティは添付されておらず、後のPC DOS 6.1 with Compressionで添付された。Stac Electronics社の「Stacker」が採用されている。
- MS-DOS 6.2 - 1993年11月
- ディスク圧縮ユーティリティ「DoubleSpace」のバグフィクス等。「DoubleSpace」は、ディスク容量を圧縮し、圧縮されたまま読み書きを可能にするもの。このユーティリティに用いられている技術の一部がStac Electronics社の特許を侵害しているものとして、訴訟を起こされた。 MS-DOS 6.0のユーザはオンラインの無償アップデートパッケージを入手することでMS-DOS 6.2にアップグレードできた。
- MS-DOS 6.21 - 1994年2月
- マイクロソフトによるStac Electronics社の特許侵害が一部認められた為、「DoubleSpace」を除去したもの。
- PC DOS 6.3 - 1994年4月
- IBMの独自ビルド。MS-DOS 6.2同様、オンラインの無償アップデートパッケージを入手してPC DOS 6.1から6.3にアップグレードできた
- MS-DOS 6.22 - 1994年6月
- Stac Electronics社の特許を侵害しない形で作成されたものが「DriveSpace」として改めて搭載された(但し、日本語版には関係ない)。なお、DoubleSpaceとDriveSpaceの圧縮機能には互換性がなく、互いに圧縮されたパーティションにアクセスすることができない。
[編集] バージョン7(マイクロソフト版)
Windows 95とWindows 98に搭載されているバージョン。従来のMSDOS.SYSは、IO.SYSにその機能を統合されて設定ファイルとなり、IO.SYSが起動する標準シェルがCOMMAND.COMではなくwin.comであるなど、MS-DOSを極力見せない工夫がされていた。しかし、Windows起動中にテキストモードのカーソルが見える。Windows 95のOSR2以降では、FAT32にも対応しているバージョン7.1である。
[編集] バージョン7(IBM版)
1995年リリース。
開発環境として「REXX」を標準添付。 MS-DOS 7(マイクロソフト版)とは異なり、PC DOS 7(IBM版)ではGUIとの融合はされなかったが、発売開始当時インターネットの普及が進んでいたため、PC DOS用Webブラウザ「WebBoy」が発売された。
[編集] バージョン8(マイクロソフト版)
Windows Meに搭載されているバージョン。IO.SYSにHIMEM.SYSおよびEMM386.EXEの機能を統合した最終版であり、もはやWindowsのローダでしかなくなった。Windows XP以降で起動ディスクを作成すると、このMS-DOSが書き込まれる。
[編集] PC DOS 2000(IBM版)
PC DOS 7.0/Vをベースに、ユーロ記号の表示や西暦2000年問題に対応したもの。製品名に「/V」は付いていないが、「DOS/V」部分を含んでいる。これがPC DOSおよびMS-DOS全体の、事実上の最終バージョンとなる(互換OSは除く)。2008年現在も販売中。
[編集] MS-DOSとの互換性を持つOS
[編集] MS-DOSとバイナリ互換性を持ち、フリーではないOS
またPC-9800シリーズ全盛期には、ゲームソフトの組み込み用として、下位互換(INT21系のサブセットのみ互換)の「MEG-DOS」などがあった。アリスソフトの「ALICE-DOS」は、もともとゲームソフト本体はMS-DOSをインストールしたハードディスクドライブ上で動かすことを前提とし、あくまでもフロッピー単体でも起動するようサポート用に作られたものであったため、バッチファイルを動かす機能も有していた。
[編集] MS-DOSとバイナリ互換性を持ち、フリーなOS
- FreeDOS
- PTS-DOS(試用版)
- RxDOS
[編集] MS-DOSの影響を受けつつもバイナリ互換性の無いOS
- X68000、ファイルシステムにFAT12/16のサブセットを採用、COMMAND.COMに酷似したコマンドインタプリタを搭載。システムコールのファンクションにもINT21Hを真似た設計が見られる等、影響を(主に開発工期の短縮などの側面から)強く受け模倣していることは明らかではあるが、その他は全く別個の実装であり、CPU自体にも互換性は無い。
- PC-8800シリーズ/X1など。ファイルシステムのみFAT12に対応した、CP/M互換OS。Z80を前提としたCP/Mのバリアント(変種)であり、MS-DOSの移植ではない。当然MS-DOS用のバイナリも動作しない。単品で発売した他、ゲームソフトやパソコン通信ソフトの一部としても使用され、PC-8800シリーズ版はJET-TERMに(通称CDOS2)、X1シリーズ版はJETターボターミナル(SPS発売)に付属する。PC-8800シリーズ版はOSのみのフリー版がある。MZ版、PC-9800シリーズ版、FM-7版も存在する。
- MSX、FAT12のサブセットに対応し、MS-DOSのCOMMAND.COMに酷似したコマンドインタプリタを搭載した、CP/M互換OS。CDOSと同様にCP/Mのバリアントであり、MS-DOS用のバイナリは動作しない。表計算アプリケーションMultiplanの一部として、PC-8800シリーズ、X1シリーズ、MZ-2500にもサブセット版がある。
- IDOS(ソフトバンク)
- PC-8800シリーズ、PC-8000シリーズ、ファイルシステムのみFAT12に対応した、CP/M互換OS。
[編集] 脚注
[編集] 関連項目
- QDOS
- EMS:8086のメモリ空間をハード的に(または80386の仮想86モードで)バンク切り換えしてメモリを増設するための規格。利用するためにはデバイスドライバのEMM.SYSやEMM386.SYS、または市販のMELWARE、VMM386などのメモリマネージャーの登録が必要だった。
- XMS:HIMEM.SYSなどのデバイスドライバの登録が必要。
- HMA:80286以降のCPUのリアルモードまたは仮想86モードで、8086の持つ1MBのメモリ空間の直後に存在する約64KBの領域(厳密には64Kマイナス16バイト、65520バイト)を追加して確保するための規格。 セグメントアドレスを0xFFFFに設定した場合、物理アドレス0x0FFFF0から始まる最大64KBの空間 (0x0FFFF0~0x10FFEF) にアクセス「できてしまう」現象を利用したもの。DOS5以上で正式サポート(CONFIG.SYSでDOS=HIGHで指定)。
- EMB:80286以上のCPUでプロテクトメモリの割り当て、解放およびデータをブロック転送するための規格
- UMB:主に仮想86モードで、640KB以上のアドレスにある空間をプログラム用に追加して確保するための規格。DOS5以上で正式サポート(CONFIG.SYSでDOS=UMBで指定)。
- VCPI:80386の仮想86モードを使用してソフトウェア的に実現したEMSマネージャーとプロテクトモードアプリケーション(主としてDOSエクステンダ)を共存させるための規格。
- DPMI:80286以上のCPUのネイティブモードでプログラムを動作させるための規格で、VCPIの代替ともなった。
- 2000年問題
- Windows 9x系
- DOSエクステンダ
[編集] 外部リンク
- DOSの歴史セミナ(Altair☆)
- パソコン産業およびパソコン技術の歴史関連URL
- DOSの系譜を辿る(「Software Design」1998年6月号に掲載されたものを、編集部の許可のもと転載)
- 日本IBM・PC DOS 2000