【特集】

~インストールから設定・活用まで~ すべてが分かるWindows Vista大百科

3 Windows Vistaに至るまで~Windowsの過去と現在(2)

米田聡  [2007/01/30]

Windows 3.1 / 9xシリーズの弱点はマイクロソフトも承知しており、安定性が高く、より高度な設計のWindows NT系統への一本化は悲願だったといえる。だが、Windows NTにも大きな弱点があった。パフォーマンスが低かったのだ。

Windows NTはセキュリティを重視した先進的な設計となっている。その先進性を代表するのがドライバモデルである。

通常、一般的なOSのドライバは最高特権レベルであるカーネルモードで動作する。ドライバはハードウェアへのアクセスを許される半面、ドライバに不具合があればOSを破壊して機能停止に追い込むことができる。OSのカーネル部分がいかに堅固に、不具合なく作り込まれていてもドライバに不具合があればOSは不安定にならざるを得ないわけだ。

そこで、Windows NTでは、ユーザーモードドライバ(サブシステムドライバ)とカーネルモードドライバという2つのレイヤーに分けている。カーネルモードドライバは信頼性の高いコードに限定され、ドライバの多くはユーザーモードで動作させる仕組みにすることで、OSの根幹から不安定性(=セキュリティ上のリスク)を取り除こうとしたわけだ。

このような設計は理想的ではあるものの、オーバーヘッドも大きい。特にユーザーの操作性に影響を与えるグラフィックスのパフォーマンスが低く、Windows 3.x / 9xに比べ操作のレスポンスが著しく劣っていた。また、セキュリティを重視した設計によりハードウェアの直接アクセスに近いDirectXの実装も難しく、ゲームなどコンシューマ向けのWindowsでは重要なアプリケーションが動作させられないこともWindows NTをコンシューマ向けにしづらかった理由のひとつだろう。

そこでマイクロソフトは、Windows NTのメジャーバージョンアップ(3.x→4.x)に伴い、内部構造の改変に着手した。従来、安定性や安全性を考慮してユーザーモードで動作させていたディスプレイドライバをカーネルモードに移行させ、グラフィック描画時のオーバーヘッドを大幅に削減、同時にDirectXのインプリメントも可能にするなどユーザーモードドライバの役割を減らしたのだ。これにより画面描画のパフォーマンスもWindows 9xに匹敵するものとなり、またゲームなどコンシューマ向けのアプリケーションもWindows NT上で動作させられるようになった。

もちろん、一方でWindows NTの「理想設計」は一部が失われたことになる。安定性を考慮してユーザーモードに移されていたディスプレイドライバがカーネルモードに移ることで、サードパーティ性の(安定性が検証されていない)ドライバがOSのコアの部分に入り込むわけで、安定性やセキュリティのリスクがWindows NT3.xより増したためだ。要約すれば、理想を目指して設計されたWindows NTが、現実と妥協することでコンシューマ向けにも耐えるパフォーマンスを手に入れたわけである。

この設計はWindows 2000に受けつがれ、一部の先進的なコンシューマはWindows 9xシリーズからWindows 2000シリーズに乗り換えるようになってきた。また、アプリケーションレベルでも16ビットアプリケーションはほぼ姿を消し、Windows 9xの弱点にもなっていたMS-DOSとの互換性も重視する必要がなくなってきた。

というわけで、環境がすべて整い、コンシューマ向け初のWindows NTベースのOS「Windows XP」が誕生したわけである。Windows 2000とWindows XPの内部構造はあまり変わっていない。Windows 2000に比べ起動速度や省電力機構など細かな部分のチューニングが施され、よりコンシューマー向けのOSとして使いやすく仕上げられてはいるが、これらはOSの根幹に関わるほど大きな改変(改善)というわけではない。

    新着記事

    特設サイトの情報

    人気記事

    一覧

    新着記事

    特別企画

    一覧