従来機と互換性のないパソコンは市場に受け入れらない。既存のハード/ソフト資産との互換性を保つ要がBIOSだ。1Mバイトに満たないサイズで23年間のひずみを吸収してきた。新機能の導入と互換性維持という矛盾した要求に対処しなければならない。

(本誌)

 1981年8月に米IBM社の「IBM PC」が発表されて以来23年が経過した。今ではパソコンと言えばIBM PCまたはその互換機というほどの発展を遂げている。その成功の要因は,仕様を公開してアプリケーションや周辺機器の開発を促したことと,後方互換性を保ち続けたことだ。ここで重要な役割を果たしたのがBIOS(Basic Input/Output System)である。

 特定アーキテクチャのシステムを普及させるには,そのシステムで動作するOSやアプリケーションの開発,技術者およびユーザー教育,システム・インテグレータの養成,さらにはマーケティング,販路の開拓といった,膨大なコストとリソースが必要である。しかし一度市場を確立すれば,互換性を持ったハードウェアを投入すればよい。それまでに投入したコストとリソースはその後も生きてくる。アプリケーションと開発環境を継承できるからだ。

 ソフトウェアの開発環境を統一する方法としては,業界団体を設立して標準規格を策定する方法がある。だがIBM PCアーキテクチャの普及は,特定の企業の製品が市場を席巻し,他社もそれに迎合することによって形成された。いわゆる「デファクト・スタンダード」である。

 IBM PCの場合,アプリケーション・ソフトや機能拡張ボードの開発を容易にする目的で,アーキテクチャや製品仕様を開示した。その目論見は功を奏し,IBM PCが発表された1981年当時の米Commodore社や米Apple Computer社などの林立するパソコン・メーカーをよそに,2年後の1983年にはIBM PCが世界市場の約40%のシェアを確保するに至った。

 このときBIOSを含むソフトウェア仕様も公開したのがポイントだ。コンピュータは市場に出回るハードウェア部品のみで同等の製品を製造できるわけではない。ハードウェアだけではシステムとして成立せず,アプリケーションやOSを動作させられないからだ。システム全体としての互換性を保つことが肝心だった*1

BIOSは“アンタッチャブル”な存在だった

 ところが仕様を開示すると,同業他社へ市場参入の余地を与えてしまう。初期のIBM PCはカスタムチップなど独自設計の部品を使用せず,市場で入手できるCPU,LSIおよびサードパーティのOSを利用していた。そのため互換機の開発は容易だった。1982年に米Compaq Computer社(2002年5月に米Hewlett-Packard社が買収),1984年にDell Computer社(2003年10月Dellに社名変更)が互換機メーカーとして台頭。次第にIBMの市場を脅かすようになってきた。東芝や松下電器産業といった国内メーカーも,続々と海外の互換機市場へ参入した。

 そこでIBMは著作権という武器で互換機メーカーに対抗し始めた。特許以外の武器としてIBMが着目したのがBIOSだった。回路設計と同様,部品の一部としてそのままコピーすることは著作権法に抵触することになるからだ*2

 このような背景から,BIOSはIBM PC互換機開発の要となる重要なコンポーネントとして位置付けられるようなった。扱い方によっては訴訟に発展しかねないそのセンシティブさゆえに“アンタッチャブル”とまで言われたのだ。当時,何社かはIBMによる警告もしくは提訴を受け,IBM PC互換機の生産中止に追い込まれたり,事業撤退を余儀なくされたメーカーもあった。

BIOS黎明期は低水準まで互換を保つ

図1●IBM PC初期のアーキテクチャ
BIOSおよびOSは,ハードウェアの差異を吸収して上位ソフトウェアに対して互換性を保つ役割を担う。上位から下位に移行するに従い互換度が低くなる。現在であればアプリケーションは,パソコンのメーカーを問わず特定のOS上で動作する。しかしDOSの時代は,メーカーごとに異なるハードウェア・アーキテクチャに適合させるためにOS自身もカスタマイズされていたため,OSによる抽象化が十分でなく,結局特定のメーカーのPCでのみしか動作しなかった。BIOSに関しては,さらに互換度が低く,設計された特定の機種でのみしか動作しない。

 IBM PC隆盛のもう一つの主因である後方互換性の確保は,BIOSに負う部分が大きい。互換度に関しては,上位から下位に移行するに従い互換度が低くなる(図1[拡大表示])。例えば現在のアプリケーション・ソフトは,OSさえ合っていればパソコンのメーカーを問わず動作する。アプリケーション・プログラマは,OSによって仮想化されたハードウェアを標準化されたAPIを通じて利用する。ハードウェアを直接制御しないので周辺装置やデバイスのメーカーにかかわらず,同じアクセス方法で利用できる。

 しかし初期の互換機はMS-DOSをOSとしていたため,ハードウェアからファームウェアに至る下位レイヤーまで互換性を保たないと,既存のアプリケーション・ソフトは動作しなかった。DOS環境においては,すべてのハードウェアが仮想化されていたわけではないからだ。DOSが担当していたのはディスク I/O(Input/Output),キャラクタ・デバイスのI/O,プログラムのローディングなどが主な機能であった*3。また,現在のWindowsのように階層構造が明確なドライバモデルが定義されてなかったため,OSのAPIで実現できない機能をBIOSやハードウェアを直接制御して実装するケースが多々あった。

 代表的なものとしては,フロッピ・ディスクのコピー・プロテクション機構がある。例えば当時データベースで一斉を風靡した米Ashton-Tate社(1991年に米Borland Internationalが買収)の「dBASEIII」では,コピー・プロテクション機構を実現するため,dBASEIIIが直接FDC(Floppy Disk Controller)を制御し,BIOSやOSの制御による通常操作では存在しない特殊フォーマットでディスクを読み書きするコピー・プロテクション機構を組み込んだ*4。コピーであるか否かを判定するために,アナログ回路を含めた微妙なハードウェア特性の互換性をも期待したコピー・プロテクション機構であった。そのため特殊フォーマットによる生産性の低下が問題になり,後にそのコピー・プロテクション機構は取り除かれた。そのほかにも,当時のハードウェアで十分なパフォーマンスで動作することを要求されたゲームソフトのほとんどが,ハードウェアの直接制御によって成り立っていた。

 それとは逆に,BIOSに依存し過ぎるがために互換性維持の妨げになるケースもあった。例えば「ROM BASIC」である。これはOS不在の状態でBASICの言語処理系が動作できるよう,機能のほとんどをBIOSのファンクション・コールに頼っていた。しかも特定のエントリ・アドレスをコール(CALL)するような設計だったため,後のBIOS拡張において大きな障害となった。

新アーキテクチャ導入の緩衝材

 一方BIOSは新しいアーキテクチャ導入のためのものでもある。互換性には2種類の意味がある。(1)ハードウェアおよびソフトウェアを提供するサードパーティから見た,メーカーを超えた相互運用性と,(2)アーキテクチャの観点でみた互換性である。前者は,先述のとおり,歴史的背景から見ても必要性は自明である。ただ後者に関しては,いかに先見性を持った優秀な技術者でも,10年先を予見し,陳腐化しないアーキテクチャを設計することはほぼ不可能である。ビジネスの観点から見れば,常に最新の技術を導入し,その魅力でユーザーを引きつけ,購買欲を促進しなければならない。ところが技術導入に際し,大胆にアーキテクチャを変えてしまうとユーザーの利益を損なう。それはそのアーキテクチャの死を意味する。つまり,新技術を導入する際は後方互換の確保が重要な要件となる。

 IBM PCが登場して以来,アーキテクチャの改善は,メモリー空間の拡張,マルチタスクを実現するための32ビット動作環境の導入に始まり,ノートパソコンに欠かせない省電力技術,自動設定による使い勝手向上を追求した「EISA(Extended ISA)」,「PnP ISA(Plug and Play ISA)」,「PCI(Peripheral Component Interconnect)」に代表されるバス技術を導入してきた。最近では,インターネット環境で問題となっているセキュリティ面での改善に向けた新プラットフォームの開発が進んでいる。これらの変革には一定の過渡期が存在する。新旧混在するアプリケーションが互いに矛盾なく正常に動作するような実装がBIOSには求められる。

津留雅文 Masahumi Tsuru

フェニックステクノロジーズ チーフテクノロジーオフィサー
1983年より,8ビット機およびIBM PC互換機のハードウェア/BIOS設計に従事。1990年,ストラテジックリサーチインスティチュートに入社し,AXパソコン向けBIOS開発に向け開発チームを率いる。1993年のパソコン向けBIOSの分野で圧倒的シェアを持つ米Phoenix Technologies社による企業買収を経て,一貫してBIOSの開発とリサーチ関連業務に携わる。最近では,複数の社外団体へ参画,標準化作業や米国本社との製品開発に関わる意見調整等に奔走する。