このページの本文へ

ロードマップでわかる!当世プロセッサー事情第402回

業界に痕跡を残して消えたメーカー MS-DOS誕生のきっかけとなったOS「CP/M」を生みだしたDigital Research

2017年04月10日 11時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

IMSAI 8080にCP/Mを移植する際に
ひらめいたBIOS

 会社設立後、米海軍大学校での生徒だったGlenn Ewing氏が、IMSAI 8080にCP/Mを移植するというアイディアを持ちかけてくる。これに乗ったKildall氏はEwing氏と一緒に移植作業を進めるが、この際にBIOSというアイディアが生まれる。

 当時はすべてのマイコンがそれぞれ独自の周辺回路設計になっており、当然互換性はなかったわけだが、基本的な入出力に関して「プログラムから見えるインターフェースを統一する」ことで、複数のマイコンで同一のプログラムが動く、という可能性を提供できることになる。これがBIOS(Basic Input/Output System)という概念の生まれた瞬間である。

 もっともこの当時は、まだ(後のIBM-PCと異なり)BIOS ROMそのものは搭載されていない。CP/MはFDDからシステムを立ち上げる仕組みだが、そもそも「FDDから立ち上げる」手順がマイコンごとにまちまちだったりした。

 CP/Mでは「FDDを動かして最初のセクターを読み込み、その読み込んだ内容をメモリーの0番地に展開し、そこに制御を移す」という処理(これをブートストラップと呼ぶ)を原則とし、マイコンメーカーもこれに対応した形でFDDのコントローラーを用意したことで、まず最初の問題がクリアになった。

 次が入出力の構成の違いであるが、CP/Mでは内部をBDOS(Basic Disk Operation System)、BIOS(Basic Input/Output System)、CCP(Console Command Processor)の3つに分け、BDOSとCCPはすべての場合で共通とし、BIOSのみ機種ごとに書き換えるという形で複数機種のマイコンに対応した。とはいえ8080の時代の話なので、BIOSの機能はそれほど多くなく、移植は簡単だったという。

 メモリー利用量はCP/M 1.4の場合で16KBと極めてコンパクトである。とはいえメモリー空間は全部で64KBしかないので、これでも重いという声は常にあった。これに対応するのがリブートというメカニズムである。

 CP/Mがブートすると、BDOS/BIOS/CCPが全部メモリーにロードされるが、そこからアプリケーションを起動する際にメモリー中に残るのはBIOSだけである。アプリケーションはBIOSを経由して、FDDを含む周辺機器にアクセス可能である。

 そしてアプリケーションが終了すると、もう一度メモリーにBDOSとCCPを再ロードする。この再ロードの仕組みをリブートと称した形だ。これにより、利用可能メモリー量を最大限に確保することが可能になっていた。

爆発的に普及した
CP/M対応のマイコン

 さてそのCP/Mは、こうした移植を容易にするメカニズムも整ったことにより、急速に普及することになる。CCPは後のMS-DOSを思わせる、というかMS-DOSがCP/Mを真似たのだから当然なのだが、もっともそのCCPは、DECがPDP-11用に提供したRT-11というリアルタイムOSの影響をかなり受けているので、その意味ではご先祖様はRT-11ということになる。

CP/Mの画面。フォルダー(ディレクトリー)の概念はないので、トップにあるファイル一覧が表示されている。ちなみにdirコマンドは同じだが、copyにあたるのはpipコマンドだとか、assignやchkdskなどさまざまなコマンドの機能がstatコマンドにまとめられているなど違いが結構ある

 起源はともかくとして、これに代るものは当時なかったという事情もあり、草の根効果でつぎつぎと売れていった。また8080に加えてZ80もサポートしたことで、さらにさまざまなマイコンがCP/Mをサポートするようになった。

 一説によれば、CP/Mに対応したマイコンは3000機種を超えるという。もっともこの中には同じ機種の仕様違い(例えばメモリー量やCPUの動作周波数)も含まれているとは思うので、どこまで正確なのかははっきりしない。

 こうしたことに対応し、Digital Researchはまず1979年に最初の社員としてインテルからTom Rolander氏を引き抜き、次の製品であるMP/Mの開発にあたらせている。1980年には社員数は20名を超え、売上は350万ドルを超えていた。

 売上はその後も急増し、1982年には2000万ドル、1983年には4500万ドルに達している。当時の顧客の中には、なんとマイクロソフトまで含まれていた。マイクロソフトはZ80カードにCP/Mをバンドルして再販するビジネスを行なっていたためである。

IBMとの交渉が決裂したことで
マイクロソフトのMS-DOSが誕生

 その絶頂期に近い1980年が、同社にとって運命の分かれ道になった。IBMは8088ベースのIBM-PCの開発を水面下で行なっていた。この開発を指揮したEDS(Entry Systems Division)の指揮を取っていたDon Estridge氏の方針で、すべてを自社でまかなうのではなく、可能な限り外部のリソースを利用して開発期間を短縮しようとしていた。

 この方針に基づき、IBMはマイクロソフトにBASICのインタプリタを、Digital ResearchにDOSを提供してもらう方針を定めた。ここからの話は非常に有名である。

 IBMのチームはDigital Researchを訪ねるものの、その時Kildall氏は他の顧客との打ち合わせのために飛行機で出かけており、契約を主に担当していた妻のDorothy氏とIBMの顧問弁護士が打ち合わせに臨むことになった。ただIBMは説明の前に機密保持契約へのサインを求め、これをDorothy氏が拒絶したことでのっけから契約は暗礁に乗り上げる。

 そうこうしているうちにKildall氏も戻ってきた(これには、IBMのチームとフロリダ行きの飛行機の中で再会したので、そこで再び交渉が始まった、という別の説もあるが真偽は不明)ものの、IBMが提示した契約条件(8086用のCP/Mの権利を丸ごと買い取る)をKildall氏が拒絶し、最終的に物別れに終わる。Digital ResearchはCP/Mをロイヤリティー方式で販売しており、この経営戦略を崩したくなかったのだろう。

 この打ち合わせが不調に終わったことを知ったマイクロソフトのBill Gates氏は、すぐさまSeattle Computer Productsという小さな会社が開発していたQDOS(Quick and Dirty Operationg System:後に86-DOSと称される)を買収し、これをMS-DOSとしてIBMに提供することを申し出る。

 Gates氏が賢明だったのは、MS-DOSを非独占ライセンスとしてIBMに売りつけたことだ。この結果、IBMはPC-DOSという名前でIBM-PC用のDOSを独占販売できることになった一方、マイクロソフトはIBM-PC以外のマイコンに、MS-DOSの名前でDOSを販売できるようになった。この結果が現在のマイクロソフト帝国につながるわけだが、それは本題ではない。

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン