PR

 Vistaの登場時に話題となったのが互換性の低さ。XPでは動作したのに、Vistaでは使用できなくなったソフトやハードが続出したため、評判を著しく下げた。両者の基本設計は、同一線上にあるはずだ。にもかかわらず、互換性の差が生じた理由はなぜか。この点をきちんと理解するには、Vistaの内部構造をひも解く必要がある。

 VistaとXPの違いは、Windowsの基幹プログラムであるカーネルにある。XPの「NT5」カーネルから、Vistaでは新設計の「Longhorn」カーネルに進化した(図1)。Longhornカーネルは、Windows 7でも採用されており、両者の設計は基本的に同一である。カーネルとは、Windowsの基幹プログラムのこと。プログラムの実行やメモリー空間の割り当てを管理するなど、Windowsの中心的な役割を担う(図2)。

【WindowsのカーネルはXPとVista/7で異なる】
図1 Windowsの基幹プログラムであるカーネルの仕様は、何度も更新されてきた
図1 Windowsの基幹プログラムであるカーネルの仕様は、何度も更新されてきた
[画像のクリックで拡大表示]

【カーネルはWindowsの中心的役割を担うプログラム】
図2 カーネルは、各ソフトにメモリー空間を割り当て、処理の制御や周辺機器へのアクセスなどを管理する
図2 カーネルは、各ソフトにメモリー空間を割り当て、処理の制御や周辺機器へのアクセスなどを管理する
[画像のクリックで拡大表示]

全ユーザーを平等扱い

 カーネルを改良した主な狙いは、セキュリティの向上にある。XPでは、ユーザーを「管理者」と「標準」に分け、システムの安全性を保とうとしていた。管理者ユーザーでログオンした場合のみ、システムの変更などが行える「管理者権限」が与えられる仕組みだ。しかし管理者でログオンした場合、常にプログラムが管理者権限で起動するので、パソコン内にウイルスなどが混入すると、簡単に実行される恐れがある。

 そこでVista/7では、カーネルにUAC(User Account Control)と呼ぶアカウント制御機能を組み込んだ。これにより管理者ユーザーといえども、通常時の権限は標準ユーザーと変わらなくなった(図3)。すべてのユーザーの権限を標準扱いにすることで、システムを破壊するような誤操作や、ウイルスなどマルウエアの意図せぬ実行を防いでいる。ユーザーが意図的に実行する際にだけ、一時的に権限を“昇格”して、管理者権限で実行できる仕組みである。この昇格を確認するダイアログが、画面が真っ暗になって表示される、例の盾マークが付いた警告画面だ。

【Vista/7では管理者の権限が大幅に制限された】
図3 XPとは異なり、Vista/7では、アカウント制御機能「UAC」を採用。管理者ユーザーとしてログオンしても、通常時の権限は標準ユーザーと同列に扱われる。システムに影響を与える操作をする際は、すべての機能を利用できる「管理者」への昇格が必要となる
図3 XPとは異なり、Vista/7では、アカウント制御機能「UAC」を採用。管理者ユーザーとしてログオンしても、通常時の権限は標準ユーザーと同列に扱われる。システムに影響を与える操作をする際は、すべての機能を利用できる「管理者」への昇格が必要となる
[画像のクリックで拡大表示]