ウィンドウ毎のメモリ使用量を50%削減--Windows 7カーネル強化のポイント - (page 2)

杉山貴章(オングス)2009年08月31日 20時07分

 パワーマネジメント機能の根本にある考え方は、「Keep idle and stay idle」(CPUを可能な限りアイドル状態にし、できるだけ長い時間アイドルにし続ける)だ。

 CPUが複数のコアを持つ場合、これまでのWindowsでは「あるものを最大限に使ってパフォーマンスを上げる」という考え方がベースにあった。それに対してWindows 7では「なるべく1つのコアで仕事をさせる」というように、方針が一転しているわけだ。

 この考え方を実践しているのが新機能の「コアパーキング」である。これはタスクのスケジューリングを必要最小限のコアのみで行い、残りのコアを休ませる(パーキング)ことで電力消費を抑える機能だ。コアパーキングでは50ms間隔でコアの状態をモニタし、平均CPU使用率がパーキングポリシー閾値を下回ったコアをパークし、超えたコアをアンパークする。パーキングポリシーはパワーマネージャによって管理され、スケジューラはパーキング中のコアの使用を避けるようになっている。

 コアパーキングについてはWindows ServerとSMT(ハイパースレッド)のみで有効となっている。これはコアパーキングが一定のCPU使用率の場合に大きな効果を得るが、クライアントでは0%か100%かといった極端なCPU使用率になるケースが多いからだという。

 Unified Background Process Manager(UBPM)もパワーマネージメント向上のために導入された新機能のひとつ。従来のWindowsでは、何も処理を行わないのにただ動いているだけのプロセスが多数存在した。UBPMはプロセスの開始や停止をイベントをトリガにして行えるようにするためのものである。これによって、プロセスを必要なときのみ開始し、処理が終わったら停止するように適切に管理できるようになる。

 トリガとなるイベントはサービス毎に指定可能なため、これまでのように「起動したらシャットダウンするまで動きっぱなし」という状況を回避することができる。

 タイマAPIも省電力化のために改善されている。CPUのアイドル状態の維持のためにはタイマ割り込みは少ない方がいい。そこで新しいタイマAPIでは近いタイミングに設定されたタイマ割り込みをひとつに統合する「タイマ結合」機能を備えており、これによってCPUがタイマによって起こされる回数をできる限り少なくするようになっている。

 そのほか、非アイドル状態のプロセッサにのみタイマ割り込みを通知する「Intelligent Timer Tick Distribution」などの機能も提供されている。

タイマ結合によりCPUのアイドル状態を保つ(画像をクリックすると拡大します) タイマ結合によりCPUのアイドル状態を保つ(画像をクリックすると拡大します)

 本稿ではパフォーマンスおよびパワーマネージメントに関する項目のみ紹介したが、Windows 7のカーネルには上記以外にもコンポーネント化やセキュリティ対策、マルチコア対応など、様々な面において大幅な改良が施されているという。

CNET Japanの記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]