MS-DOS
MS-DOSのコマンドラインの一例。画像ではCドライブのルートディレクトリを指定している。
|
|
| 開発元企業 / 開発者 | マイクロソフト |
|---|---|
| 開発言語 | アセンブリ言語 |
| OSの系統 | DOS |
| 開発状況 | 終了 |
| ソースモデル | クローズドソース |
| 最新安定版リリース | 8.0 / 2000年09月14日 |
| 使用できる言語 | 多言語 |
| 使用できる プログラミング言語 |
C, Pascal, QBasic, バッチファイルなど |
| 対応プラットフォーム | x86 |
| カーネル種別 | モノリシックカーネル |
| 既定のUI | キャラクターユーザインターフェース(CUI), テキストユーザインタフェース(TUI) |
| ライセンス | プロプライエタリ |
MS-DOS(エムエス-ディーオーエス、えむえすどす)とは、マイクロソフトが開発・販売していたパーソナルコンピュータ向けの16ビットのオペレーティングシステム(OS)である。IBMのPC DOS (IBM DOS)のOEM供給版として誕生したもので、バージョン6以降はPC DOSから完全に独立して開発された。
目次 |
概要 [編集]
MS-DOSとPC DOS(IBM DOS)は、パーソナルコンピュータ向けの16ビットのディスク・オペレーティング・システム(DOS)で、その名前の通り主にディスクの管理を行うシングルタスクのオペレーティングシステム(OS)である。
基本的なユーザーインターフェースはキャラクタユーザインタフェース(CUI)で、コマンドラインインタプリタCOMMAND.COMの表示するコマンドプロンプトにコマンドを与えて操作を行う。一部のメーカーが独自に追加したり、後のバージョンで搭載されたグラフィカルなツールもある。UNIXを参考にした階層型のファイルシステムを持つが、ファイル名の制約などが厳しく機能は低い。
歴史的には1981年にIBMが初代IBM PC用に発売したDOSが「PC DOS」で、1982年よりマイクロソフトがIBM以外のメーカーにOEM提供を開始したものが「MS-DOS」であったが、マイクロソフトは後に1981年から「MS-DOS」と呼んでいる。
両社はバージョン5まではOS共同開発契約(OSクロスライセンス契約)を結んでおり互換性が保たれた。当時は8ビット市場ではCP/Mが事実上の標準であったが、16ビット市場ではPC DOSならびにMS-DOSが主流となった。
特にMS-DOSはインテルのx86系マイクロプロセッサを搭載した各社・各機種のパーソナルコンピュータに移植され、世界的にはPC/AT互換機、日本ではNECのPC-9800シリーズ、富士通のFMRシリーズ、東芝のダイナブックなど各社独自仕様のアーキテクチャに移殖された。後にはAXのベース、更には組み込み機器などに、広く普及し主流となった。
しかしMS-DOS (PC DOS)を搭載しているPCであっても、アーキテクチャが異なる機種間ではアプリケーションソフトウェアの互換性はほとんど無かった。MS-DOSは画面描画に関わるAPIを持たないため、グラフィックメモリを操作して画面描画を行うアプリケーションはハードウェアを直接操作せざるを得ず機種依存となったためである。
日本ではソフトウェアのみで日本語表示を可能としたDOS/Vが発売され、漢字V-RAM機能を持たないPC/AT互換機が普及した。
バージョン6からはIBMとマイクロソフトのOS共同開発契約が終了し、後にMS-DOSとPC DOSの単体販売やサポートも終了したため、現在はオープンソースを含めた互換DOSの他、Microsoft Windowsのコマンドプロンプト環境などのDOS互換環境が存在する。
MS-DOSは1995年時点で全世界で1億本を出荷した[1]。
歴史 [編集]
開発の経緯 [編集]
詳細は「シアトル・コンピュータ・プロダクツ」および「QDOS」を参照
1980年7月頃、IBMは後にIBM PCとなるパーソナルコンピュータの開発に着手した。しかし、IBMの主力商品である汎用コンピュータに比べるとごく少数のスタッフとわずかな予算しか与えられなかった。プロジェクトリーダーのフィリップ・ドン・エストリッジは、可及的速やかに商品化にこぎ着けるためにソフトウェアは自社開発せずすべて外部から調達する方針を立てた。
当時のマイクロソフトはBASICインタプリタやアセンブラならびに各種言語のコンパイラ等を開発しており、それらの製品のほとんどが当時のパーソナルコンピュータ市場におけるデファクトスタンダードOSであるデジタルリサーチのCP/M上で動作するものであった。
IBMはマイクロソフトに対し当初はBASICなどの言語製品の開発を依頼していた。OSについても8086対応版のCP/Mをマイクロソフトに開発してもらおうとした。しかし彼らはCP/Mのソースの権利を持っていなかった為、ビル・ゲイツのアドバイスに従ってデジタルリサーチ社と交渉することにした。しかしデジタルリサーチとの交渉はうまくいかず、結局マイクロソフト自身がOSを開発する事となった。
とは言うもののマイクロソフトにはOSの開発経験は無かったため、同じ頃CP/Mが8086に移植されない事に業を煮やして独自に移植作業を行っていたシアトル・コンピュータ・プロダクツ社の86DOS(QDOS)を開発者込みで買収しIBM PC用に改修した[2]。
各メーカーへのOEM供給 [編集]
IBMは当初は「PC DOS」名称でIBMのみへの供給を主張し、マイクロソフトはIBM以外のメーカーへのOEM供給を主張した結果、「IBM用はPC DOS名称。マイクロソフトによる各メーカーへのOEM供給も認めて普及を図る」という役割分担となったと言われる。(この役割分担は後のOS/2 1.xでも同様となる。)
リスクを軽減化するために買い取りを避けIBM PCの出荷台数に対して使用料を支払うというライセンス契約をしたこと、そしてマイクロソフトから各メーカーへの自由なOEM供給を認めた事が後のマイクロソフトの躍進の原動力と言え、また見方を変えれば、最終的に「軒先を貸して母屋を取られた」IBMの大失策であるとも言えるが、MS-DOS(およびPC DOS)の普及(デファクトスタンダード化)を決定づけたとも言える。
マイクロソフトからのOEM版の最初は1982年のバージョン1.25でZenith Data SystemsのZDOSと言われる。供給先メーカも名称も複数あったと言われる。1983年のバージョン2.0より「MS-DOS」名称に一本化された。ただし複数のバージョン1も後に「MS-DOS 1.0」などと総称される場合が多い。「MS-DOSエンサイクロペディア」によると、IBM以外の各メーカーへのOEM供給版に自社の商標(MS)をつけ「MS-DOS」名称としたのは、OEM先メーカーが独自の名前をつけたため混乱を避けるために整理したものとされている。
その後も富士通FM TOWNSのTownsOSや各種の制御機器など、内部的にMS-DOSがOEM提供されている場合には「MS-DOS」の名称はユーザーに見えない場合が多い。
DOSの限界と終息 [編集]
DOSは標準でグラフィカルユーザインターフェースやマルチタスク機能や仮想記憶を持たず、80386などの32ビット環境でも「高速な8086」としか使用できなかったため、DOSの拡張や次世代OSが待望された。
1985年にはDOSエクステンダーであるDESQviewや、DOS上で稼働する「オペレーティング環境」としてMicrosoft Windowsが登場した。更に1987年には本格的なDOSの後継OSとしてIBMとマイクロソフトからOS/2 1.0が登場した。OS/2はDOSと同様に、IBMからはOS/2 IBM版が、IBM以外のメーカーへのOEM版としてはOS/2 マイクロソフト版が提供されたが、性能やDOS互換環境の問題もあり広く普及しなかったためDOSは継続して使われた。
1990年に日本ではIBM DOSバージョン4からDOS/Vが生まれ、マイクロソフトもバージョン5からDOS/Vを採用して単体での直販も開始したため、日本市場でもPC/AT互換機が普及した。
1993年のバージョン6からは、IBMとマイクロソフトのOS共同開発契約(OSクロスライセンス契約)が終了したため以後はIBMまたはマイクロソフトの単独開発となり、基本部分の互換性は保たれているが付属ユーティリティの相違などが広がった。マイクロソフトはこのMS-DOS 6を単体販売の最終バージョンとし、1995年のMicrosoft Windows 95以降は単体のDOSも不要となった(技術的にはDOSは内部的に存在しているが、製品としてバンドルされている)。IBMはDOSの改良を続けたが、1998年のPC DOS 2000が最終バージョンであり2002年にはサポートも終了した。
機能 [編集]
MS-DOSと名付けられているように、マイクロソフトのパーソナルコンピュータ向けのDOS(ディスク・オペレーティング・システム)であり、主にディスクの管理を行うシングルタスクOSであった。マルチタスク機能・メモリ保護機能などはOS内部には持っていなかった。またグラフィック画面やサウンドの操作・ネットワーク機能などは、Microsoft WindowsやLAN Managerのほかアプリケーションが直接I/Oを操作するかデバイスドライバなどで提供されていた。
ファイル管理 [編集]
ファイルの管理は、FATとクラスタにより構成され、ファイル名は8.3形式(8文字までのベース名と3文字までの拡張子の合計11文字まで(拡張子の前の「.」は数えない))で表す。アルファベットの大文字と小文字は区別しない(全て大文字と見なされる)。さらにバージョン2以降では、ディレクトリやファイル属性の与奪が使用できた。
起動順序 [編集]
起動順序はバージョンによって若干違うが、概ね以下の通りである。
- コンピュータのROM-BIOSやディスクのマスターブートレコードからディスクのセクタ0にあるブートセクタを読み込んで実行。
- ディスクからIO.SYSとMSDOS.SYSがメモリ中にロードされる。
- 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用では何種類かサードパーティで同様のプログラムが作成されている)。
システムコール [編集]
システムコールは、ソフトウェア割り込みにより呼び出されるが、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は製品としては「DOSを必要としない、Windowsという単体のOS」と称しているが、内部的には従来のWindows 3.xと同様MS-DOSモジュールから起動してプロテクトモードで稼働しGUIや擬似マルチタスクを提供する構造(一種のDOSエクステンダー)をしていた。ただし、Windowsが使用するMS-DOSシステムコールはごく一部に限られ、VFATなどによりファイル管理方法が拡張されている。なお、Windows 95・98などのWindows本体を起動していないMS-DOSモードの場合はVFAT上のロングファイルネームでも8文字+拡張子3文字のショートファイルネーム形式のファイル名で表示された。
バージョン [編集]
バージョン一覧 [編集]
MS-DOSとPC DOSの主要なバージョンの一覧は以下の通り。
| バージョン | 出荷開始 | IBM | マイクロソフト | 備考 |
|---|---|---|---|---|
| 1 | 1981年 | PC DOS 1.0 | (MS-DOS) 1.25 | 1981年 IBM PC用にPC DOSが登場。1982年 マイクロソフトがIBM以外に1.25以降のOEM供給を開始(名称は供給先により異なる)。 |
| 2 | 1983年 | PC DOS 2.0 | MS-DOS 2.0 | PC/XT用に登場、階層ディレクトリなど。マイクロソフト版の名称が「MS-DOS」に一本化され、日本でも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版が名称再変更。PC DOSとMS-DOSは付属ユーティリティの違いが拡大。MS-DOSは単体販売の最終版。同時期にNovell DOS(DR DOS) 7出荷。 |
| 7 | 1995年 | (なし) | MS-DOS 7.0, MS-DOS 7.1 | Windows 95/98/98SEの内部バージョン。PC DOS 7とは全く別物。7.1はWindows 95 OSR2以降で、FAT32に対応した。 |
| 1995年 | PC DOS 7 | (なし) | IBM版のみ。スクリプト言語のREXXをサポート。MS-DOS 7とは全く別物。 | |
| 8 | 2000年 | (なし) | MS-DOS 8 | Windows Meの内部バージョン。MS-DOSの最終版。 |
| 2000 | 1998年 | PC DOS 2000 | (なし) | ユーロ記号、2000年問題対応など。PC DOSの最終版、2002年サポート終了。 |
バージョン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) をサポートしていた。PC DOSのみ。
- バージョン1.1(1982年5月)- 360KB 5.25インチフロッピーディスク (2D) サポートの他、一部のバグフィクス。PC DOSのみ。
- バージョン1.25(1982年5月)- マイクロソフト版が、8086プロセッサを利用したパーソナルコンピュータ、更にはIBM PC互換機向けに、IBM以外のメーカーへのOEM提供を開始(Zenith ZDOSなど複数)。
バージョン2 [編集]
IBM PC/XTの仕様に合わせ、HDDや360KB 5.25インチフロッピーディスク (2D) をサポートしている。階層構造ディレクトリ、config.sysによるデバイスドライバの追加機能、UNIXライクなパイプ等の機能が追加された。アセンブラのMASMが付属していた。
マイクロソフト版はこのバージョンより名称が「MS-DOS」に一本化され、日本ではPC-8801用16ビットCPUボードに付属して販売された他、PC-9800シリーズ用にも販売された。
- バージョン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月)- IBM主導で開発された。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もキャラクタベースによる簡易なものとグラフィック画面とテキスト画面を組み合わせたもの(表示が美しく、ポインタの動作もスムーズになる)とを選択できた。DOSシェルのデザインはIBM Systems Application Architecture Common User Accessに準拠していた。
本バージョンには性急な複雑化に伴う非常に多くのバグが存在し、また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版、PC DOSより改称)(1988年7月)
- MS-DOS 4.01(マイクロソフト版)(1988年12月)- バグフィクス。
バージョン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」(編集可能な容量に制限がかけられている[3]。バージョン3.3Dにも付属)、富士通版(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 [編集]
ディスク最適化やディスク圧縮機能(後述)、コンピュータウイルス検出・除去など、CD-ROMアクセスに必要なMSCDEXの付属等付加機能の充実が主。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が付属したが、こちらはメガソフト社のMIFESのサブセット版[3])。
- MS-DOS 6.0(1993年3月)
- PC DOS 6.1(IBM DOSより名称変更)- IBMの独自ビルド。初期のバージョンにはディスク圧縮ユーティリティは添付されておらず、後のPC DOS 6.1 with CompressionでAddstor Inc の「SuperStor/DS」が添付された(日本語版PC DOS J6.1/Vは最初から圧縮ユーティリティ添付)。
- 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、Windows 98 Second Editionに搭載されているバージョン。ファイルシステムではLong File Nameがサポートされたのが最大の特徴。従来のMSDOS.SYSはIO.SYSにその機能を統合されて設定ファイルとなり、IO.SYSが起動する標準シェルがCOMMAND.COMではなくwin.comであるなどMS-DOSを極力見せない工夫がされていた。しかし、Windows起動中にテキストモードのカーソルが見える。Windows 95のOSR2以降ではFAT32にも対応しているバージョン7.1である。また、Windows 95やWindows 98はWindowsを起動せずにMS-DOSモードで再起動することができた。
バージョン7(IBM版) [編集]
1995年リリース。IBM版のみ。開発環境として「REXX」を標準添付。ディスク圧縮ユーティリティは「SuperStor/DS」から「Stacker4.0」に変更された。MS-DOS 7(マイクロソフト版)とは異なりGUIとの融合はされなかったが、発売開始当時インターネットの普及が進んでいたためPC DOS用Webブラウザ「WebBoy」が発売された。
バージョン8(マイクロソフト版) [編集]
Windows Meに搭載されているバージョン。IO.SYSにHIMEM.SYSおよびEMM386.EXEの機能を統合した最終版であり、もはやWindowsのローダでしかなくMS-DOSモードでの起動も廃止された。Windows MeやWindows XP以降で起動ディスクを作成するとこのMS-DOSが書き込まれる。
PC DOS 2000(IBM版) [編集]
PC DOS 7.0/Vをベースに、ユーロ記号の表示や西暦2000年問題に対応したもの。日本語版は製品名に「/V」が付いていないが、「DOS/V」部分を含んでいる。これがPC DOS(IBM DOS)およびMS-DOS全体の事実上の最終バージョンとなる(互換OSは除く)。2002年にはサポートが終了した。
- IBM PC DOS 2000 日本語版 (CD-ROM)
- IBM PC DOS 2000 英語版 (CD-ROM)
MS-DOSとの互換性を持つOS [編集]
MS-DOSとバイナリ互換性を持ち、フリーではないOS [編集]
またPC-9800シリーズ全盛期には、ゲームソフトの組み込み用として下位互換(INT21系のサブセットのみ互換)の「MEG-DOS」などがあった。アリスソフトの「ALICE-DOS」は、もともとゲームソフト本体はMS-DOSをインストールしたハードディスクドライブ上で動かすことを前提としあくまでもフロッピー単体でも起動するようサポート用に作られたものであったため、バッチファイルを動かす機能も有していた。
MS-DOSとバイナリ互換性を持ち、フリーなOS [編集]
MS-DOSの影響を受けつつもバイナリ互換性の無いOS [編集]
- 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。
脚注 [編集]
- ^ 『日経産業新聞』1995年6月22日付
- ^ このやり方を進言したのは当時同社役員でもあった西和彦と言われている
- ^ a b 藤山哲人「PC-9801開発現場の8つの秘密」、『月刊アスキー別冊 蘇るPC-9801伝説 永久保存版 第2弾』、アスキー、2007年4月9日初版、pp. 138
関連項目 [編集]
- 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年問題
- LAN Manager
- Windows 9x系
- DOSエクステンダ
外部リンク [編集]
- DOSの歴史セミナ(Altair☆)
- パソコン産業およびパソコン技術の歴史関連URL
- DOSの系譜を辿る(「Software Design」1998年6月号に掲載されたものを、編集部の許可のもと転載)
- 日本IBM・PC DOS 2000
- PC DOS 2000のインストール画面
|
|||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||