このページでは、「Software Design」1998年6月号に掲載されたものを、編集部の許可のもと転載させていただきました(ここに掲載された図はすべてインターネット上のものを使っています。したがって、掲載誌と違いものがあります。)。快く許可していただいた編集部の方に感謝いたします。(ここに、この文章の初出が「Software Design」1998年6月号であることを、明らかにしておきます。)


速い! 軽い! 簡単! DOS再発見

1 DOSの系譜を辿る

  今なおユーザを惹きつけるパソコンOS

大渕栄作 OHBUCHI Eisaku E-mail: eisaku@happy.club.or.jp
 
Windows 95の登場によって過去のOSとなったように思われているDOSですが, 実はいまでも多くの人々に利用されています. 本章では,DOSの誕生から現在に至るまでの経緯を紹介し, いまだに多くのユーザを惹きつけるDOSの魅力を探っていきます.


  

はじめに


 昨今,雑誌などで取り上げられるのはGUI系OS(WindowsやMac OS,BeOSなど)の話題ばかりです.しかし,いまだにMS-DOSなどが使われているオフィスや家庭は意外に多いものです.最近,IBMから「Web Boy」というDOS用Web閲覧ソフトが発売され(写真1),DOSパソコンなどでも気軽にインターネットに参加できるようになりました.また,いまだにDOSやWindows 3.1が使われている現実を無視できず,Windows 98においても,Windows 3.1からのバージョンアップをサポートする予定です.
 本稿では,現在も多くのユーザを惹きつけるDOSの誕生から現在に至るまでの経緯について見ていきます.


  

DOSの誕生


 DOSの歴史を振りかえるにあたって,まずはパソコンの誕生から見ていきましょう.それぞれの出来事にはさまざまなエピソードが知られていますが,ここではアウトラインをたどっていきたいと思います.


   
パソコンの誕生

 '75年,ニューメキシコ州アルバカーキのMITSから,「Altair(アルテア)」というマイクロコンピュータの組み立てキットが発売されました.これは,Intel 8080マイクロプロセッサと256バイトのメモリを搭載し,397ドルという当時としては破格のマイクロコンピュータでした.
 そのころ,多くのソフトウェアはBASIC言語で書かれていましたが,Altair用のソフトウェアは,BASIC言語を含め発売当初まだありませんでした.若き日のBill GatesとPaul Allenは,このAltairを雑誌で見つけました.かねがねパソコン用のBASICを開発すべきだと思っていた彼らは,AltairのためのBASIC言語を書くことに決めたのでした.  それから1ヶ月後,完成したBASICはAltairに採用され,彼らは販売権をライセンスをしました.このBASIC言語によりBill GatesとPaul Allenは成功を収め,Microsoftを設立します.
 その後,多くの会社から8080を載せたパソコンが作られ,MicrosoftのBASIC言語は新しいパソコン用に改造され売られていきました.'75年から'80年にかけて,これらのパソコンは主にコンピュータマニアによって使われはじめました.


   
IBM PCの登場


注1)OSはDigital ResearchのCP/Mを使っていました.BASIC自体はOSなしでも動きましたが,IBMはほかの言語を動かすためにもOSを必要としていました.実はこのとき,MicrosoftはAT&Tベル研究所からUNIXの販売権を獲得し,マイクロプロセッサ用に開発をしていました.Microsoftはこれを勧めましたが,IBM PCは6 4 Kバイトのメモリしかなく,さらにハードディスクがなかったため,このUNIXを採用をすることができませんでした.

注2)QDOS(Quick and Dirty Operating System)とも呼ばれました.

 '80年,“コンピュータ界の巨人”と呼ばれていたIBMはパソコン業界に参入することを決めましたが,当時すでにP CマーケットではAppleのパソコンが急速に拡大していました.IBMの責任者の1人だったPhilip Estridgeは,1年間の期限付きでパソコンを持って帰るために,現金を詰めた鞄を持ってフロリダに向かいました.
 IBMでは自社製品に使うマイクロプロセッサを自社で開発してました.しかし彼は,パソコンを期限内に作るためには,マイクロプロセッサを含め多くの部品を外部調達するしか道はないと考えました.当時Intelのマイクロプロセッサには,8080の後続の16ビットプロセッサ8086,そして8086に8ビットバスをつけた廉価版8088があり,IBMはマイクロプロセッサとして多少性能は劣るものの,価格の安いIntel 8088の採用を決定しました.
IBMは,ユーザの間で人気のあったBASIC言語やOSを必要としていましたが,自社パソコンのためのソフト開発までとても手が回りません.そこでBill Gatesを訪ね,IBM PC用のBASICインタープリタをライセンスしてくれるよう交渉しました.しかし,BASICはOSではなかったのです(注1).
 そこでBill GatesはDigital Researchに相談するよう勧め,IBMは社長のGary Kildallにアポイントをとりましたが,IBMが提示したスケジュールに対し難色を示し,CP/MのIBM PC版(CP/M-86)の採用をあきらめました.IBMはMicrosoftに戻り,CP/MのようなOSをできるだけ早く作ることができないか掛け合い,Bill GatesはMicrosoftの近くに位置する,Seattle Computer Productsを紹介したのです.
 この会社に勤めるTim Patersonは,おもにメモリボードのテスト用として作成/販売されていた86-DOS(注2)というCP/MそっくりのOSを開発してました.'81年4月,Microsoftは86-DOSの権利を買い上げ,Tim Patersonも加わってIBM PCへの移植を行い,これはMS-DOSと改名されて予定通りIBMに納品することができました.
 '81年8月,IBM PCは発表され(写真2),MS-DOSも世に出ることになります.


   
IBM PCとMS-DOSの成功


注3)クローン機は,IBM互換機としてではなくLotus 1-2-3が動く機械という謳い文句で売られたほどです.

注4)最初のIBM PCは,アメリカのテレビでも使えるようにクロック数を設定し,記憶媒体としてカセットテープ,ゲーム用にジョイスティックのインターフェースを採用していました.

注5)IBMはBIOSのROMに対する著作権を持っており,これをクローン会社がコピーすることはできません.そこでクローン会社は,ROMをプラックボックスとしてリバースエンジニアリングしました.


●IBM-PCの成功
 IBM PCは,Lotus 1-2-3の登場(注3)をきっかけにビジネス用のコンピュータとして成功を収めました.ところが,実際IBMはパソコンが家庭でのゲーム用として使われるだろうと考えていたぐらいで,ビジネスコンピュータとしての成功をだれも予想していなかったのです(注4).
 成功の要因の1つはオープンアーキテクチャの採用,つまりパソコンの仕様を公開したことだといえます.これにより,サードパーティやソフト会社は,新しいパソコンのためのソフトやハードを作ることができました.さらに,IBM PCは大部分が外部調達による部品で成り立ってたので「クローン」を容易に作ることができ,実際いくつかの会社が「クローン」を販売し始めました(注5).これにより,IBM PCは爆発的に拡販しました.


注6)86-DOSの存在を知ったKildallは憤慨し,著作権侵害であるという証拠を持ち出しました.そこでIBMは,著作権侵害に対処するため,MS-DOSと同じようにCP/M-86を売ることに同意しました.

注7)このとき,これらのOSの価格決定権はIBMにあり,OSの価格は販売権の値段によって決定しました.

●MS-DOSの成功
 では,MS-DOSの成功はどうだったのでしょう.実はIBM PC上で動くOSとしては,UCSDパスカルp-System,CP/M-86,MS-DOSの3つが用意されており,ユーザはこの中から1つを選ぶことができました.
 p-Systemとは,UCSD(カリフォルニア大学サンディエゴ校)で開発されたOSで,移植性に優れ,Apple IIなどで使われていましたが,IBM PC版の出荷が遅れたために普及しませんでした.
 CP/M-86は,先ほど登場したDigital ResearchのOSであるCP/MのIBM PC版のことです.IBM PC発売前,Kildallは1 6ビットプロセッサ用のOSが必要になるだろうと考えて,CP/M-86を開発しており,CP/M-86はIBM PCから少したって世に出ました(注6).
 MS-DOSは,もちろんIBM PCと同時にでました.MS-DOSの長所は,8080上で動いているソフト,つまりCP/Mで動いていたほとんどのソフトを動かすことができたことです.さらに重要なのはそれぞれのO Sの価格です.MS-DOSは約60ドル,CP/M-86は約175ドル,p-Systemは約450ドルで(注7),アプリケーションもなく価格も高いOSは当然あまり普及せず,結局MS-DOSが成功を収めました.


  

MS-DOSの歴史



   
MS-DOSとPC DOSについて

 Microsoftの開発したDOSは,IBMとMicrosoftから,それぞれMS-DOS(MicroSoft Disk Operating System)とPC DOS(IBM Personal Computer Disk Operating System)として発売されています.PC DOSの方は,IBMがMicrosoftから権利を買い,自社のPCのためにアレンジして発売され,一方のMS-DOSは,MicrosoftがOEM向けに開発し,それぞれのOEMメーカが販売しました.両者の違いはわずかでしたが,一部MS-DOS上では動かないソフトも存在しました.
 ここでは,DOS(以下,MS-DOSおよびPC DOSをあわせてDOSと記述します)の歴史を見ていきます.


   
DOS Version 1.x


注8)当時は8インチディスク(normalと呼ばれていた)が主流であり,5インチディスクはmini-diskettesと呼ばれていました.

注9)UNIXでは,端末I/O(Input/Output)やディスクI/Oなどのドライバをディレクトリ構造内に含んでいますが,MS-DOSでは同じことをBIOSによって実現しています.

注10)ちなみに,UNIXは最初のバージョンから階層ディレクトリ構造を採用していました.


 DOSの最初のバージョンであるVersion 1.0は,IBM PCとともに'81年8月にリリースされました.このOSは,64Kバイトのメモリのうち12Kバイトを使い,CP/Mとの互換性を持ち,5インチ160Kバイトフロッピー(1D)のみのサポート(注8),そして,約4,000行のアセンブリコードで書かれていました.
 DOS 1.0は次の3つのプログラムで構成されていました.
 DOSは,BIOS(Basic Input Output System)と呼ばれるIBM PCに組み込まれているROMをいつも使っており(注9),BIOSが8088のアドレス空間の上位に位置することで,6 4 Kバイトのメモリを有効に使うことができました.
 また,DOS 1.0はCP/Mと同じく階層のディレクトリのサポートはなく,サブディレクトリを置くことはできませんでした(注10).
 DOS 1.0は,CP/Mと互換性を持ちつつ,次に挙げるようないくつかの重要な改良がなされていました.
 '82年にはDOS Version 1.1がリリースされ,5インチ320 Kバイトディスク(2D)が使えるようになり,Version 1.0にあったバグも直されました.さらに同年,はじめてVersion 1.25として広くOEM供給されました


   
DOS Version 2.x


注11)実はMS-DOSという名前が初めて登場したのはこのバージョンからです.


 '83年3月,IBMはPC/XTというハードディスクを積んだパソコンを発表し,同時にDOS Version 2.0がリリースされました(注11).
 このバージョンでは,CP/Mをサポートしつつも,たとえばファイルシステムでは/の代わりに\を使うなど,UNIXのアイデアを少しずつ変更しながら取り入れていきました.またシェルの改良もなされ,スタンダードインプット/アウトプット,パイプ,フィルタのサポートが加えられました.Version 2.0からは,以下のものがサポートされました.
 このバージョンアップでアセンブリコードは約20,000行になり,またPC/XTの発表でターゲットはホームユースからビジネスユースに移り,ハードディスクを積むことで大きなアプリケーションを動かすことができるようになりました.その結果,CP/M-86は完全に追い込まれ,DOSがPCのOSを支配することとなります。
 実は,これまでDOSはたった4人のプログラマによって作られていました.しかし,巨大アプリケーション出現により,Microsoftはプログラマの人数を増やします.そして,Version 2.05を発表しました.
 このバージョンアップで,多くの国の日付と時刻,通貨,10進コード,16ビット漢字コードがサポートされましたが,IBMはVersion 2.05にはまったく興味がなく,Version 2.1とともにPC jr.を発表します.しかし,これは失敗に終わりました.
Microsoftは,Version 2.05と2 .1を組み合わせてVersion 2.11を発表し,大成功を納めました.
 また,このころ日本ではNEC PC-9801(98)が登場し,アスキーがDOSの普及に努め,はじめは単なるBASICマシンだった98もDOSマシンとして普及していきました.


   
DOS Version 3.x

 '84年8月,DOS Version 3.0は,Intel 80286を積んだPC/ATとともに発表されました.このPC/ATは,16Mバイトまでのメモリをサポートし,リアルモード(8080,8086の高速版として80286が動作)とプロテクトモード(8086を複数同時にエミュレートできるモード.このモードの方がはるかに速い)のサポートをしていましたが,DOSアプリケーションを使う場合はプロテクトモードからリアルモードへの切り替えができなかったため,PC/ATをフルに活用することはできませんでした.
 また,1.2Mバイトのディスクドライブ,バッテリバックアップクロック,CMOSによる環境情報などを積んだPC/ATも発売,10Mバイト以上のハードディスク(あらたに16ビットFATをサポート.12ビットFATの選択も可能)やRAMディスクも登場し,DOSはそれらのデバイスをサポートしていきました.
 シェルはO Sから除かれ,別のプログラムとしてユーザが自由に交換することができました.また,このバージョンでAPI(Application Programming Interface)はほぼ固まりました.
 このバージョンアップでアセンブリコードは約40,000行になり,プログラマの数も30人になりました.
 '87年10月にはVersion 3.1がリリースされ,ネットワークがサポートされましたが,当時ネットワークを使うプログラムはあまりありませんでした(一部メーカではこのバージョンでEMS:Expanded Memory Specification をサポートしました.MicrosoftはWindows 2.1からこれをサポートしています).
 次のバージョンであるVersion 3.2では,3.5インチフロッピーとIBMトークンリングがサポートされましたが,バグだらけでほとんどのユーザはVersion 3.1のまま使いつづけました.
 '87年,IBMはPS/2シリーズで成功を収めました.このシリーズでは,720Kバイト,1.44Mバイト3.5インチフロッピーを積んだモデルが発表され,これをサポートしたDOS Version 3.3が発表されました.このバージョンアップでは,最大32Mバイトのハードディスクパーティションをとれるようになり,シリアルポートの19,200bpsがサポートされ,ユーティリティプログラムも増えました.
 IBMとMicrosoftは,PS/2とDOS 3.3のリリースとともに,新しいOSであるOS/2をリリースしました.OS/2は,MS-DOSに変わって主流となるだろうと考えられていましたが,リリースは大きく遅れ,しかも不完全でした.たしかに,強力なメモリ管理機能などD O Sよりも進んでいましたが,ユーザの関心はなかなか集まらず,'91年にはMicrosoftが撤退し,人々の関心はWindowsに移っていったのです.


   
DOS Version 4.x

 '88年,OS/2がうまくいかない中,IBMはPC DOS Version 4.0を独自に開発/発表し市場を驚かせました(のちにMicrosoftは,そのほかの互換機メーカのためにこのPC DOSをリバースエンジニアし,IBMに遅れてMS-DOSをリリースしました).
 Version 4.0では,32ビットセクタの採用によって2Gバイトまでのハードディスクをサポートし,またプログラムは640Kバイトまでと制限されていましたが,メモリは16Mバイトまで拡張できるようになり,パフォーマンスは向上しました(EMS:Expanded Memory Specifiction,XMS:Extended Memory Specifiction).さらに,このバージョンからDOS シェルが採用されました.
 しかし,Version 4.0には多くのバグがあり,その後修正版であるVersion 4.01がリリースされました.ところが,このバージョンはディスクパフォーマンスを向上のためのバッファによりOSサイズが大きくなってしまい,結果ユーザはVersion 4.xを避けVersion 3.3を使いつづけました.


   
DOS Version 5.x

 '91年4月,DOS Version 5.0はリリースされました.このバージョンでは,Version 4にあった,ディスクパフォーマンス向上の採用をやめ,ユーザメモリを増やすためにOS本体やデバイスドライバを拡張メモリ上(HMA:High Memory Area)におくことができるようになりました.また,このバージョンでは新しいDOSシェルやヘルプ機能,2.88Mバイトフロッピーのサポート,またそのほかのユーティリティやコマンドが改良されました.
Version 5リリース時にはWindows が実用的になり,それを意識したバージョンアップだと言えます.
 また,これまでMS-DOSはOEM供給のみでしたが,このバージョンで初めてMicrosoftからの店頭販売もされました.


   
DOS Version 6.x


注12)代わりにDriveSpaceとなりました.


 '93年,DOS Version 6.0はリリースされました.このバージョンでは,あまりO S本体に変化はなく,ユーティリティの充実が見られました.DoubleSpace(ディスク圧縮ツール),Undelete(ファイルのリストアツール),Backup(バックアップツール),Anti-virus(ウィルス駆除),Defragmenter(ハードディスク最適化ツール),MemMaker(メモリ最適化ツール),Help(オンラインヘルプ)や,move/choice/deltreeコマンドが加えられました.
 Version 6.2では,データの安全性の確保がなされると同時に,さらにいくつかのユーティリティが追加されました.しかし,その後DoubleSpaceはその手法において知的財産権の侵害であると訴えられ,Microsoftは敗訴しました.DoubleSpaceはVersion 6.22において削除されています(注12).
 このほか,DoubleGuardの追加,One-pass DOSKCOPYやCD-ROMキャッシュのサポート,CHKDSKはSCANDISKに置き換わり,MS-DOSシェルは必要最小限のディスクでのみ有効などの変更が見られました.
 また,MS-DOS 6とPC DOS 6はこれまでのバージョンのDOSのように似通ったものではありませんでした.たとえば,PC DOSでは別のツールを使うことで,ファイル管理,メモリ管理,ハードディスクの最適化をしています.


   
PC DOS Version 7

 MS-DOSはVersion 6.22で終わりましたが,'95年,IBMはPC DOS Version 7をリリースしました(写真3).
 このように,最終バージョンらしくDOSの集大成と言えるでしょう.この後,Windows 95の登場により,DOSはメジャーマーケットから姿を消しました.


  

その他のDOS


 現在,以下に挙げるようなDOSが存在しています.ここでは,それぞれのDOSの特徴を簡単に見ていきましょう.


   
OpenDOS

 Digital ResearchのCP/Mは,MS-DOSの登場後CP/M-86としてリリースされました.この経緯は先ほど述べたとおりです.
 その後,互換DOSとしてDR DOSを独自に開発し発売していました.またDR DOS以外にも,互換DOSとしてマルチタスクをサポートしたFlexOSも発売し,FAやPOS端末などに用いられました.Digital ResearchはNovellに買収され,Novell DOS 7を発表し,本格的なマルチタスク機能やネットワーク機能を備え販売されました.
このあとNovellはNovell DOSの開発から手を引き,Novell DOSはCaldera社に引き継がれ,OpneDOSとして発展しています(図1).現在,Caldera DR-DOS 7.02がリリースされています.
 特徴としては,
などがあります.とくに特徴的なのは,Novellが関係していたOSだけあってNetWareへの対応でしょう.



   
FreeDOS

 FreeDOSと呼ばれるDOSが登場しました(図2)これは100%MS-DOS互換のOSで,無料で提供されていますが,G U Iやマルチタスクなどの1歩進んだ特徴はありません(Webページを見ると,そのような機能が欲しいユーザにはLinuxを勧めています).また,FreeDOSはGNU General Public License(GPL)に基づいてソースコードなどすべてを公開しており,これらは誰にでも入手できます.


   
PTS-DOS

 このPTS-DOSは,ロシアのPhysTechSoftがリリースした100%DOS互換ソフトで,46ドル(現在、$49.5になっています)で売り出されています(図3).次のような特徴を持っています.
 これらを1枚のフロッピーに納めています.現在,ロシア語/ドイツ語/英語バージョンがリリースされています.


表1 DOSの歴史
1975年 MITS社から最初のパソコンAltairの登場
Microsoftの設立
1981年 IBM PCの誕生
MS-DOS Version 1.0の誕生
1982年 MS-DOS Version 1.1, 1.25
1983年 PC/XT発売
MS-DOS Version 2.0, 2.05, 2.1, 2.11
1984年 PC/AT発売
MS-DOS Version 3.0
1987年 MS-DOS Version 3.1, 3.2
PS/2シリーズ発売
MS-DOS Version 3.3
OS/2 のリリース
1988年 MS-DOS Version 4.0
1989年 MS-DOS Version 4.01
1991年 MS-DOS Version 5.0
1993年 MS-DOS Version 6.0, 6.2, 6.22
PC DOS Version 6.1
1995年 PC DOS Version 7.0


表2 DOSのバージョンごとの特徴
Version Date 概要
1.0 1981 Settle Computer Products社の「86-DOS」をIBM PC用に手直しし、MS-DOS Version 1.0としてリリース。
1.1 1982 2D ディスクのサポートし、いくつかのバグをなおした。
1.25 1982 初めて、広くOEM供給した。
2.0 1983 10MBハードディスクのサポート。UNIXを意識したシェルの改良。
2.05 1983 バイリンガル環境に対応。
2.1 1983 PC jr.用につくられたが失敗。
2.11 1983 2.05と2.1をあわせたもの。
3.0 1984 1.2MBフロッピー、32MBまでのハードディスクをサポート。
3.1 1987 ネットワークのサポート。
3.2 1987 3.5インチフロッピー、IBMトークンリングのサポート。ただ、バグが多すぎて使いものにならなかった。
3.3 1987 IBM PS/2シリーズのサポート。1.44MBフロッピー、ハードディスクのパーティションなどサポート。
4.0 1988 EMSメモリー、2GBまでのハードディスクのサポート。DOS SHELLを装備。
4.01 1989 4.0をバグフィックスしたもの。
5.0 1991 HMA, 2.88MBフロッピーのサポート。Help機能が追加され、そのほかのユーティリティやコマンドが改良された。
6.0 1993 DoubleSpace, Anti-virus,Defragmenterなどのユーティリティが追加される。
6.2 1993 DoubleGuardの追加。CHKDSKはSCANDISKになる。また、いくつかのコマンドを改良。
7.0 1995 IBM PC DOSのみ発売。DOSの集大成。




Copyright Eisaku Ohbuchi(eisaku@happy.club.or.jp), 1998-1999
eisaku@truga.com

MS-DOS fun club Top Menu
colors of People Top Menu