PR


 2001年の発行以来「10年後も通用する基本を身につけよう」のキャッチフレーズのもと読み継がれてきた書籍「なぜ」シリーズ。この先の10年に向けて、何をいま知っておくことが重要なのかを著者の皆さんに語ってもらいます。(編集部)

 IT関連の技術は進歩が非常に早く、俗に「ドッグイヤー」などと表現されることがあります。成長が早い犬の1年は人間の7年に相当する、ということからきた表現です。確かにモバイル機器やワイヤレス通信といった最近のIT機器の進歩を見ていると、そういった表現もしっくりきます。

 これほどに激しい変化を見てしまうと、10年先のことなど誰にも分かりません。このような業界では、「なぜ」シリーズのコンセプトである「10年後も通用する基本」などはあり得ないのではないか、とつい考えてしまいがちです。

 しかし、実際には必ずしもそういったことにはなりません。その理由は、Windowsを含む「オペレーティングシステム(OS)」と呼ばれる分野のソフトウエアに共通したある特徴があるからです。報道などでは「基本ソフトウエア」とも称されることのあるOSですが、このソフトウエアには、長期にわたって機能や構造、あるいは技術を引き継がなければならない事情があるのです。

互換性機能は受け継がれる

 OSが受け継がれなければならない理由、それは「互換性」にあります。OSが提供する機能にはさまざまなものがあります。例えば、周辺ハードウエアとの入出力やメモリーの確保、他のアプリケーションとの間の通信といったさまざまな機能を提供する仕組みである「システムコール」は、複雑な機能を作成しなくて済むというアプリケーション開発の容易化のほか、互換性確保という面でも大きな役割を果たします。

 グラフィックスのハードウエアを直接操作せずシステムコールを使って描画するという仕組みのおかげで、アプリケーションは異なるハードウエアの上であってもひとつのプログラムで同じように動作する互換性を得ることができます。また、アプリケーションが動作に必要とするメモリーを、自分勝手に直接確保するのではなくシステムコールによって確保することで、他のアプリケーションとの間でメモリーを分け合って使用することが可能となり、他のアプリケーションと協調動作する「相互運用性」を得ることができます。こうした相互運用性もまた、広い意味での互換性機能といえるでしょう。

 OSが持つこうした互換性機能は、同時期に存在する他のハードウエアとの間のみならず、過去、現在、そして未来といった時間軸の上でも確保することが求められます。アプリケーションの動作を補助するのが主務である以上、たとえOSが高機能化、高性能化したとしても、肝心のアプリケーションが動作しなくなってしまっては意味が無いからです。

 過去、現在から将来にわたるまで、ユーザーが必要とするアプリケーションが確実に動作する。これこそ、OSに求められる互換性の継承機能なのです。

 Windowsも、多くの種類のハードウエアで動作することが求められるため、互換性の継承を重視しています。古いプログラムであっても最新のWindowsで動作することが多いのは、こうした互換性確保の努力によるものでしょう。