VistaにはWindows SuperFetch(スーパーフェッチ)というアプリケーションの起動を高速化する機能がある、というのは聞いていたが、調べてみるとなかなか興味をそそる動作をするらしい。
SuperFetchは、よく起動するアプリケーションをOSが前もって裏で起動してメモリにキャッシュしておくことで、高速にアプリケーションが起動するような仕組みらしいのですが、その「よく起動するアプリケーション」の判断がなかなか凝っている。
第5回 パソコンの処理速度高める「見えざる新技術」・ユーザー行動学習もPC&デジタルカメラ-ビジネスユーザーのためのVista講座:IT-PLUS
具体的には、新たに「曜日」「時間帯」などの概念を格納情報に追加し、頻繁に起動されるソフトをあらかじめメモリー上に呼び出すというものだ。例えば、Wordの使用頻度は平日が多く、「Internet Explorer」の使用頻度が週末に多い場合、それぞれの曜日に対してアプリケーションの起動に必要なファイルのすべて(もしくは一部)をメモリー上に展開する。つまり、ユーザーがアイコンなどをダブルクリックした際のソフトの起動プロセスを、あらかじめ用意しておくというわけだ。
なんと、アプリケーションを起動した曜日や時間帯を学習して、「あ、この時間だとこのアプリがよく使われるから、先に読み込んでおこう」というような動きをするらしい。すげー。OS起動しただけで結構メモリくっちゃってるのは、こういう理由もあるのかもしれないですね。Vista入れてすぐは、やたらとディスクアクセスが多かったような気もするし(これはインデックスを作ってただけかもしれないけど)
ちなみに、XPの時のプリフェッチ機能の説明はここに。こちらはOSとアプリ起動時に読み込まれているファイルを記録するだけで、時間帯などの概念はなさそうです。
せっかくだから、SuperFetchの学習状態を視覚的に見ることができる仕組みがあれば、もっとおもしろいと思うんですけど、誰か作らないですかねそういうソフト。