Windows 8の特徴であるMetroスタイルとMetroアプリケーション。このMetroアプリケーションのアドバンテージはどこにあるだろうか。Windows 8の公式ブログであるBuilding Windows 8の最新記事では、Metroアプリケーションが使用するメモリの圧縮と再利用について説明が行われた。また、別の記事では私的なWindows 8マシンを会社に持ち込むことを意味する"BYO"関連の機能についても解説されている。今週もMicrosoftの各公式ブログに掲載された記事を元に、Windows 8に関する動向をお送りする。
アプリによる消費電力を抑えつつもバックグラウンド動作を実現する「Connected Standby」とWindows 8 |
|||||
メモリを取り戻す「Reclaiming memory」機能
現時点で我々が直接触れることができるWindows 8 Consumer Previewで確認する限り、Metroアプリケーションはメモリーイーター(食い)と評価されている。あくまでもWindows 8 Consumer Previewはベータ版であり、最終的なチューニングを施していないバージョンのため、このような判断を下すことは正しくないものの、過去のWindows OSに触れてきたユーザーなら、過度なメモリ消費に対して敏感にならざるを得ないだろう。公開されたブログ記事によると、その心配は不要になりそうだ。
Windows 8は、サスペンド中のMetroアプリケーションが使用している圧縮可能なメモリを発見すると、そのメモリを再利用し、大半のメモリを異なるMetroアプリケーションで使用するという。つまり、メモリを確保するために不要なMetroアプリケーションを終了させる手間が省かれるということだ。同記事に掲載された動画では、数々のMetroアプリケーションを起動すると当たり前のようにメモリを消費していく。だが、そのほかのMetroアプリケーションを起動することで、既存のMetroアプリケーションに対してサスペンドが実行され、消費メモリは0.6Mバイト程度と大幅に圧縮されている(図01~02)。
既存のWindows OSでは、アプリケーションが使用できるメモリサイズは限られているものの、アプリケーションが確保したメモリをシステム側が制御することは基本的に難しい。システムがメモリ不足に陥った際は、ローカルディスク上に作成した仮想メモリに消費部分を待避させ、物理メモリの空き容量を確保していた。Windows 8 Consumer Previewで確認する限り同様のロジックは受け継がれているが、Metroアプリケーションの基盤となるWinRTに盛り込まれたメモリ管理機能により、快適なMetroアプリケーションの使用環境が整うだろう。
Windows OSに精通している方ならご存じの話だが、ここでメモリ消費に関する呼称の説明をさせてほしい。タスクマネージャーでは、現在のプロセスで使用されているメモリ容量を「ワーキングセット」と称し、特定のプロセスが専用のメモリとして確保する部分を「プライベートワーキングセット」と称している。図03はWindows 7のタスクマネージャーだが、「acrotray.exe」というプロセスは共有可能なワーキングセットは2,236Kバイト、専用となるプライベートワーキングセットは880Kバイトであることが確認できるだろう(図03)。
Windows 8では、このプライベートワーキングセットを利用し、Metroアプリケーションが確保したメモリの圧縮と再利用を実現している。そのため、本ロジックがデスクトップアプリケーション(従来のアプリケーション)に対して適用されることはない。あくまでも「Reclaiming memory」と呼ばれる本機能はMetroアプリケーションに限られている。図04をご覧になるとわかるように、Metroアプリケーションは特定のタイミングでステータスが「Suspended(一時中止中)」に切り替わるが、Microsoft WordやMicrosoft PowerPointなどのデスクトップアプリケーションに変化はそのままだ(図04~05)。
もちろん、これだけの理由でデスクトップアプリケーションよりもMetroアプリケーションが優れていると断言するつもりはない。あくまでもアプリケーションの存在意義はユーザーニーズに一致しているか否かだからだ。それでも、コンピューターの搭載メモリ容量によって快適さが左右されるのはOSの常であるだけに、メモリ管理機能には敏感にならざるを得ない。その点Metroアプリケーションを中心としたWindows 8の環境は、メモリ容量をさほど意識せずに使えることが、またひとつはっきりした。なお、ブログ記事では、Reclaiming memoryのロジックも詳しく説明されているので、興味のある方はアクセスしてみるといいだろう。