Internet Explorer 9の話題が入って間が空いたが、連載の24回に続いて、今回もWindows 7のカーネルに関して解説しよう。
省メモリー化でパフォーマンスアップ
Windows 7のカーネルは、Windows Vistaのカーネルを再構築して、コンパクト化している。さらに、Windows 7ではカーネルだけでなく、カーネルの上層に位置するさまざまなシステムプログラムを見直すことで、メモリーの消費量を小さくしたり、プログラムサイズ自体をコンパクトにしている。
これらの成果によって、Windows 7ではOSが使用するディスク使用量やファイルサイズ、メモリー使用量などのリソースが、Vistaから70%ほど削減されている。OSが使用するリソースが削減されたことは、パフォーマンス自体にも影響してくる。特にOSが使用するワーキングメモリーの量が減ったことが、Windows 7のパフォーマンスの向上に寄与している。メモリーやストレージ容量の小さなネットブックなどでも、Windows 7がそれなりに快適動作するようになったのは、こうした背景がある。
またWindows 7では、個々のシステムプログラムが内部で持っているデータのキャッシュを見直した。多くのプログラムでは、それほど頻繁に利用しないのにも関わらず、開発者の都合でキャッシュを作成していた。そこでOS全体でキャッシュを見直し、400項目以上を削除。これにより、OSが使用するデータキャッシュの量が少なくなり、OSのサイズも小さくなった。
WDDM1.1と新しいDWMで省メモリー化
Windows 7で劇的にワーキングメモリーの使用率を低減させたのが、デスクトップ画面を表示するための改良された「Desktop Window Manager」(DWM)とドライバーモデルの「Windows Display Driver Model 1.1」(WDDM1.1)だ。
DWMやWDDM1.1の詳細については過去記事を参照していただきたいが、Windows 7では新しいグラフィックドライバーモデルのWDDM1.1が採用されている。WDDM1.1はDirectX 10.1世代のGPUを対象にして開発されているが、DirectX 9やDirectX 10対応のGPUでは、DirectX 10.1に足りない機能をCPUがソフトウェアエミュレーションで補うため、Windows 7のWDDM1.1でも動作する(関連記事)。
DirectX 9対応のGPUがごく普通だった3年前に比べると、DirectX 10.1やDirectX 11世代のGPUは驚くほどの進化を遂げている。Vistaのリリース当時は、それほどDirectX 10ベースのGPUが普及していなかった(インテルチップセット内蔵GPUに至っては、G965世代でようやくDirectX 9にきちんと対応した程度)という事情もあったため、ウインドウ表示(GDI)はほとんどをソフトウェアで処理していた。
しかし、さすがにWindows 7のリリース時期には、DirectX 10~10.1をサポートしているGPUが多くなり、ローエンドパソコンでもDirectX 9はサポートしているという状況になったので、WDDM1.1ではDirectX 10.1をベースとしたのだろう。また、「Warp10」と呼ばれる出来のいいDirectX 10のソフトウェアエミュレーションが完成したことも、大きな理由となっている。
Windows 7とVistaでは、複数のウインドウを合成してひとつのデスクトップ画面にするためにDWMが使われている。しかしVistaで使用されていたDWMは、ワーキングメモリーを膨大に消費していた。これがVistaがメモリー食いのOSと言われた理由のひとつである。そこで、Windows 7ではDWMのアーキテクチャーを見直し、ワーキングメモリーの消費を減らすように改良された。
Vistaでは、各アプリケーションが描画したウインドウ(ビットマップ)を、DWM管理下のDirectXサーフェスにコピーしていた。しかしWindows 7のDWMでは、アプリケーションが描画したウインドウは、直接DWMが管理するDirectXサーフェスに描画されるようになった。このコピーを止めただけで、メモリーの使用量は半分になる。

この連載の記事
-
第50回
PC
次期IE「Internet Explorer 10」プレビュー版が公開 -
第49回
PC
RTM版も登場 Windows Home Server 2011の変更点とは -
第48回
PC
5秒で起動するSplashtop OSを自作パソコンで試す -
第47回
PC
ベンチで検証 Internet Explorer 9 RCの互換性と性能 -
第46回
PC
正式版の直前となるInternet Explorer 9 RC版が登場 -
第45回
PC
Silverlightをさらに進化させる「Silverlight 5」 -
第44回
PC
「Windows on ARM」が持つ意味と課題は何か? -
第43回
PC
GPUを利用できる仮想化ソフト XenClient 実践編 -
第42回
PC
複数のWindowsを使い分ける仮想化ソフト XenClient -
第41回
PC
3秒で起動しWindowsと共存するOS「Splashtop OS」 -
第40回
PC
最新版「PP7」に見るIE9の性能と互換性の高さ - この連載の一覧へ