Windows 8 のタスク マネージャー

Building Windows 8

Windows エンジニアリング チームによるブログ

Windows 8 のタスク マネージャー

Rate This
  • Comments 1

//build/ での Windows 8 基調講演でお話ししたように、タスク マネージャーは 15 年に 1 度更新されることになっています。というのはもちろん冗談で、このユーティリティは Windows のリリースがあるたびにほぼ毎回、増分的に改良されてきたわけですが、Windows 8 ではタスク マネージャーを新たな目で見直し、いくつかの新しいシナリオを検討すると共に、いわば "スペクトルの両端"、つまりエンド ユーザーと、PC の状態を非常にきめ細かく管理する必要があるユーザーの両方に向けて、このツールをチューニングする新しい方法を模索しました。この記事は、In Control of Your PC (PC のコントロール) チーム所属のグループ プログラム管理者である Ryan Haveson が執筆しました。なお、念のためですが、この記事では Metro スタイルのアプリケーションを閉じる方法ではなく、あくまでタスク マネージャーを扱いますので、どうぞお忘れなく。
--Steven

Windows 8 のタスク マネージャーの改良点の一部をこの場でご紹介できることを嬉しく思います。タスク マネージャーは最も広く使われているアプリの一つです。その歴史も長く、Windows の初期のバージョンでプログラムの終了や切り替えを行うシンプルなユーティリティとして登場して以来、その後何度かのリリースを重ねて機能が追加されていき、今日の姿に至っています。

[Switch To] (切り替え)、[End Task] (タスクの終了)、[Cancel] (キャンセル)、[Cascade] (重ねて表示)、[Tile] (並べて表示)、[Arrange Icons] (アイコンの整列) の各ボタンが表示された、Windows 3.0 のタスク リスト

図 1: Windows 3.0 のタスク リスト

[End Task] (タスクの終了)、[Switch To] (切り替え)、[New Task] (新しいタスク) の各ボタンと、[Applications] (アプリケーション)、[Processes] (プロセス)、[Performance] (パフォーマンス) の 3 つのタブが表示された、Windows NT 4.0 のタスク マネージャー
図 2: Windows NT 4.0 のタスク マネージャー ("新しいタスク" 機能が追加されている)

[Networking] (ネットワーク) タブと [Users] (ユーザー) タブが追加された Windows XP のタスク マネージャー
図 3: Windows XP のタスク マネージャー (英語) ([Networking] (ネットワーク) タブと [Users] (ユーザー) タブが追加されている)

[Applications] (アプリケーション)、[Processes] (プロセス)、[Services] (サービス)、[Performance] (パフォーマンス)、[Networking] (ネットワーク)、[Users] (ユーザー) の各タブと、[End Task] (タスクの終了)、[Switch To] (切り替え)、[New Task] (新しいタスク) の各ボタンが表示された、Windows 7 のタスク マネージャー
図 4: Windows 7 のタスク マネージャー

タスク マネージャーは非常に広く使われているツールで、何か変更を行えば必ず注目が集まることは明らかだったので、楽しい作業であると同時に注意深く行う必要もありました。最初に設定した課題は、いくつかの重要な点への取り組みです。

  • デザインが優れ、よく練られた近代的なツールを目指す。技術的なツールであっても、デザインに注意を払うことにはメリットがある。
  • 最も技術的なユーザーの一部がリソース モニターや Process Explorer などの他のツールに流れる原因となっている、機能面での不足を埋める。
  • データを整理し、情報のリッチさを強調することで、よりエレガントな、新しいレベルのデータ把握を求めるユーザーにとって使いやすいツールにする。

現在のタスク マネージャーの利用状況

新しいタスク マネージャーが、従来の役割についても優れたパフォーマンスを発揮できるよう、まずは現在の利用状況を把握したいと考えました。長年の成長により、タスク マネージャーは多種多様なシナリオに対応するツールとなっています。Windows 7 の時点で、タスク マネージャーではアプリケーションの終了、プロセスについての詳細なデータの提供、サービスの開始と停止、ネットワーク アダプターの監視が可能なほか、ログオンしている各ユーザーについての基本的なシステム管理者向けタスクさえこなすことができます。かなりの数の機能です。

私たちは遠隔測定 (テレメトリー) に対して積極的に投資してきたため、当初からいくつかの優れたデータが手元にありました。これに、ユーザーとの個別の面談やラボでの観察による情報を加え、現在のタスク マネージャーの利用状況とその背景についての理解を深めました。

Windows 7 のタスク マネージャーに利用状況データをオーバーレイ表示した画像。[Applications] (アプリケーション) タブおよび [Processes] (プロセス) タブが全使用量の 85%、残りのタブの合計が全使用量の 15% を占める。
図 5: 各タブの利用状況

このデータはかなり興味深いものです。ここからわかるのは、アプリケーションとプロセスを扱うビューである最初の 2 つのタブに、利用が集中しているということです。決して予想外ではありませんでしたが、[アプリケーション] タブと [プロセス] タブの利用率がほぼ等しいというのも興味深い点でした。[アプリケーション] タブだけでは詳細な情報が不足しており、そのためにユーザーが [プロセス] タブに移動していることがわかります。そのため、次は [プロセス] タブでユーザーがどんなことをしているのか、利用状況を調べることにしました。

ユーザーが各列を並べ替えに使用する比率を示した棒グラフ。CPU Usage (CPU 使用率) = 29%、private working set (プライベート ワーキング セット) = 26%、ImageName (イメージ名) = 25%、User name (ユーザー名) = 5% のほか、Description (説明)、Ser-Name ([サービス] タブ - 名前)、Ap-Task ([アプリケーション] タブ - タスク)、Ser-Status ([サービス] タブ - 状態)、Ser-PID ([サービス] タブ - PID)、Ser-Description ([サービス] タブ - 説明) がいずれも 3% 以下。
図 6: 多くのユーザーがリソース使用量でプロセスを並べ替えている

このデータと、面接やラボでの観察結果を合わせて考えてみると、ユーザーが [プロセス] タブを利用するのは、[アプリケーション] タブのリストにないアイテム (バックグラウンド プロセスやシステム プロセスなど) を探している場合と、最もリソースを消費しているプロセスを調べたい場合であることがわかります。

よって、次はタスク マネージャーでユーザーが行うアクションを調べました。

タスク マネージャーにおける上位のユーザー アクションを比較した棒グラフ。[プロセス] タブ – [プロセスの終了] ボタン = 12%、[プロセス] タブでの Del キーによるプロセスの終了および [アプリケーション] タブでの [タスクの終了] ボタン使用 = 20%、他のアクションはすべて 3% 以下。
図 7: アプリまたはプロセスを終了させる用途が多い
クリックすると大きな画像で表示します

データの観察とユーザーとの対話から、タスク マネージャーの最も一般的な使用方法は、単純にアプリケーションまたはプロセスを終了させることだと結論することができました。

新しいタスク マネージャーの目標

多くのデータと背景的な調査研究から、3 つの主要な目標にエネルギーを集中することにしました。

  • 最も一般的なシナリオに向けてタスク マネージャーを最適化する。データが示したシナリオに注力します。(1) [アプリケーション] タブで特定のアプリケーションを見つけ、終了すること、そして (2) [プロセス] タブに移動してリソースの使用量で並べ替えを行い、リソースを回収するために一部のプロセスを終了することが、これにあたります。
  • 機能面の目標実現を近代的な情報デザインによって行う。情報デザインとデータのビジュアル化に注力して、よく考えられた近代的なデザインを実現し、機能的なシナリオの目標実現を助けます。
  • 機能を減らさない。コア シナリオとして注目するべきものが存在するのは事実ですが、より使用頻度の低いその他のシナリオも、タスク マネージャーには数多く存在します。機能の削減ではなく、増補や強化、改良を行うという、明確な目標を設定しました。

対応したい重要な問題として、多くの興味深い新機能を盛り込みつつ、ユーザーを情報過多に追い込まないためにはどうすればよいかという点がありました。この問題を解決するにあたって中心となったのが、新しいファイル コピーのダイアログと似た、詳細表示/詳細非表示の切り替えボタンを使うモデルです。

Windows 8 における Windows タスク マネージャーの既定ビュー。[More details] (詳細情報) ボタンが矢印で示されている。
図 8: 詳細非表示ビュー

新しい Windows タスク マネージャーの詳細表示ビュー。[Fewer details] (詳細情報の非表示) ボタンが矢印で示されている。
図 9: 詳細表示ビュー

このモデルによって、既定のビュー (詳細非表示) を、アプリケーションを見つけて終了するというコア シナリオに最適化することができました。同時にもう一方のビューには、ユーザーが要求しない限り表示されないことを活かし、かなり多くの詳細情報を追加で盛り込むことができました。"詳細表示" ビューでは、既存のタスク マネージャーで採用されているタブのモデルを維持し、各タブに表示されるコンテンツの改善に注力しました。これは、既にあるものを削減するのではなく、増補、強化、改良を目指すという目標の達成に役立つはずです。

シナリオ #1: すばやく効率的にプロセスを終了する

多くのサード パーティ ツール (または Sysinternals の Process Explorer) から、パワー ユーザー向けにタスク マネージャーに追加できるものが多々あることはわかっていました。一方で、大多数のユーザーにとって情報過多となるツールを提供するわけにはいかないため、まずメインストリームのユーザーに目を向ける必要がありました。もちろん、専門性や独自のイノベーションを実現するサード パーティのツールには、このタスクでもその他のタスクでも、今後とも期待を寄せています。タスク マネージャーの既定ビューとしては、最も幅広いユーザー層と最も一般的なシナリオのニーズに応える、ミニマリスト志向のエクスペリエンスをデザインしました。Windows 8 で初めてタスク マネージャーを起動すると、実行中のアプリが非常にクリーンなビューで表示されます。既定ビューが特化している役割はただ一つ、適切に動作していないアプリを終了することです。このコア シナリオに直接役立つもの以外は、すべてこのビューから削除しました。

 

Windows 8 におけるタスク マネージャーの既定ビュー。実行中のアプリケーションが 7 つ表示されており、そのうち Microsoft Sync Center が応答していない。ボタンは [End Task] (タスクの終了) のみ

 図 10: "Windows 8" におけるタスク マネージャーの既定ビュー

この既定ビューの値打ちは、取り除かれている機能にあります。アプリの終了というコア タスクに直結しないものはすべて取り除き、フォーカスされた効率的なデザインを実現しました。具体的には次のとおりです。

  • コア シナリオに集中するため、その邪魔になるタブは取り除かれています。
  • メニュー バーが取り除かれています。
  • アプリだけが表示され、終了できるわけではない個々のウィンドウは表示されないようになっています。
  • エクスペリエンスが雑然とするのを防ぐため、多くのユーザーにとって理解できない技術的な概念やリソース使用量の情報が取り除かれています。
  • 二重の確認ダイアログは表示しません。ユーザーが [End Task] (タスクの終了) をクリックすれば、"本当に?" というような質問はせず、速やかにそのアプリを終了します (情報を保存するかどうかのダイアログも表示しませんのでご注意ください!)。

同じアプリケーションやウィンドウを開いた状態で、Windows 7 のタスク マネージャーと比べて、新しいタスク マネージャーではいかにクリーンでフォーカスされた表示となるか、次の画像をご覧ください。

: Windows 7 のタスク マネージャーで [アプリケーション] タブを開いている画像。スクロールを要する長いリストには、同じアプリの複数のインスタンスが表示され、[タスクの終了]、[切り替え]、[新しいタスク] の 3 つのボタンがある。

Windows 8 のタスク マネージャーで [Application] (アプリケーション) タブを開いている画像。実行されている 7 つのアプリケーションを示したシンプルなリストが表示され、[End Task] (タスクの終了) というボタンが 1 つだけある。 
図 11: Windows 7 と Windows 8 のタスク マネージャーの比較

余分なものを取り除いた結果残るのは、正常に動作しなくなったアプリを終了するという 1 つの目標に特化した、優れたツールです。"応答なし" になったアプリが閉じるボタンをクリックしても消えてくれないという問題に悩む多くのユーザーにとっても最適です。

シナリオ #2: パフォーマンスの問題を診断する

タスク マネージャーに追加された新しい要素の多くは、"詳細表示" ビューに移行したときにだけ画面に現れます。ここはパワー ユーザーの領域ですので、メインストリームのユーザーがまったく使わないかもしれない、非常に詳細な情報が表示されている点は、念頭に置いてください。メインストリーム ユーザーのニーズには、上で説明した "詳細非表示" ビューですべて対応できる見込みです。

新しい詳細表示ビューは次のような表示になります。

 

Windows 8 のタスク マネージャーの詳細表示ビュー。[Processes] (プロセス) タブで、[Process] (プロセス)、[Status] (状態)、[CPU] (CPU)、[Memory] (メモリ)、[Disk] (ディスク)、[Network] (ネットワーク) の各列が表示されている。列内のデータには背景色が施され、背景の濃さによって、各列について上位の数値を示すアイテムが強調されている。

図 12: 新しい [Processes] (プロセス) タブとヒート マップ表示

ヒート マップ表示

新しい [Processes] (プロセス) タブで最も目立つ変更点は、さまざまな値を色で表現する、新しいヒート マップ表示です。遠隔測定データから、[プロセス] タブに移動して CPU 使用率やメモリ使用量で並べ替えを行い、想定を超える量のリソースを消費しているアプリケーションを探す、という使用方法が非常に一般的であることがわかっていました。ヒート マップの優れた点は、異常な値のモニタリングを、複数のリソース (ネットワーク、ディスク、メモリ、CPU 使用率) にわたって同時に行うことができ、データを並べ替える必要もないことです。また、数字を読んだり、さまざまな概念や特定のユニットについて理解しなくても、ホット スポットを瞬時に特定することができます。使用状況についての私たちの研究では、この情報をさまざまな方法でビジュアル化した場合に、ユーザーが何を見ているかを、視線追跡システムを使って調べました。この調査は、リソースについての最も重要な問題へとユーザーの目を効率的に誘導できるよう、デザインの選択肢を絞り込むのに役立ちました。次のビデオでは、視線追跡を使った私たちの研究の一つで、参加者が見ているもののスクリーン ショットの上に、参加者の目の動きをオーバーレイ表示したようすをご覧いただけま��。赤い点は視線が止まった位置を示し、線は視線が元の位置からすばやく動いた場合の軌跡を示します。


ビデオをダウンロードしてお好みのメディア プレーヤーで再生することができます:
高画質 MP4 | 低画質 MP4

 

ネットワークおよびディスクのカウンター

多くのパワー ユーザーが、タスク マネージャーだけでなくリソース モニター等の他のツールを使用する理由は、単に従来のタスク マネージャーではプロセス単位でのネットワークおよびディスク使用状況が表示されないためです。体感されるパフォーマンスの問題の多くで、回転式ディスクへのアクセスや、複数のアプリケーションによるネットワーク帯域幅の奪い合いが根本原因となっていることを考えると、この点では確かに機能の不足があります。新しいタスク マネージャーでは、これらのリソースについても、メモリや CPU と同じレベルの詳しい情報が表示されるようになっています。

リソース使用量の強調表示

PC でパフォーマンスの問題が生じる最大の原因の一つが、リソース競合です。あるリソースの使用がしきい値を超えると、列のヘッダーが強調表示され、ユーザーに注目を促します。パフォーマンスに問題がある場合に最初に調べる場所のめやすを示す、一種の警告表示と考えていただけると思います。次の画像では、複数のアプリケーションが CPU 時間を要求し、競合が発生している可能性があることにユーザーの注意を向けるため、CPU 使用率の列のヘッダーが強調表示されています。

タスク マネージャーの詳細表示ビューの [Processes] (プロセス) タブで、あるアプリケーションの CPU 使用率が 94.2%、もう一つのアプリケーションの CPU 使用率が 1.8% になっており、CPU 使用率が "ホット スポット" となっていることを示すため、CPU 使用率の列のヘッダーが濃い色になっている

図 13: リソース使用量のインジケーター

 

アプリケーション、バックグラウンド プロセス、Windows プロセスという単位でのグループ分け

従来のタスク マネージャーの大きな課題として、プロセスの種類がわかりにくいという点がありました。アプリケーションに対応するプロセスなら終了しても比較的安全ですが、Windows OS のプロセスを終了すると、ものによってはブルー スクリーンが表示される事態になります。その他のバックグラウンド プロセスの場合、より詳しく調べる必要があります。新しいタスク マネージャーでは、種類別にグループ化することで簡単にプロセスを区別しておくことができ、同時に、必要な場合はグループ化されていない従来のような表示も可能です。

新しいタスク マネージャーで、アプリケーション、バックグラウンド プロセス、Windows プロセスの 3 つの種類に分けてグループ化しているようす。
図 14: プロセスの種類によるグループ化

バックグラウンド プロセスに (サービスやその他すべてにも) フレンドリ名を表示する

上のスクリーン ショットで、"Print driver host for applications" となっているアイテムにお気付きでしょうか。従来のタスク マネージャーでは "splwow64.exe" と表示されていたものです。

実行可能ファイルの名前を表示したい場合は、もちろん、オプションの列として追加することもできます。

トップレベル ウィンドウをアプリごとにグループ化する

従来のタスク マネージャーで最も煩雑だった点の一つとして、[アプリケーション] タブがフラットなリスト表示で、システム内の全プロセスのトップレベル ウィンドウがすべて表示されてしまうというものがありました。トップレベル ウィンドウの一覧は、情報として無意味ではありませんが、多くの場合、視覚的に情報過多となります。また、あるウィンドウを閉じると、そのプロセスの他のウィンドウもすべて閉じてしまうことがあります。この問題に対応して、新しいタスク マネージャーでは、トップレベル ウィンドウを親プロセスごとにグループ化します。これによって、一般的な使用ケースではずっとクリーンな表示が可能になり、終了可能なプロセスやプロセスのリソース使用量に集中しやすいほか、各ウィンドウのオーナーとなっているプロセスがわかるため、プロセスを終了した場合にどのウィンドウが閉じられるかがわかりやすくなっています。

新しいタスク マネージャーで、6 つの Outlook メッセージが単一の Microsoft Outlook 親プロセスの下にグループ化され、展開/縮小可能なリストとして表示されているようす。
図 15: トップレベル ウィンドウをプロセスごとにグループ化する

fussvc.exe とは?

プロセス リストの中の、たとえば "fussvc.exe" のようなアイテムが、実際何をするものなのかわからないこともあるかと思います。フレンドリ名表示の導入は、この問題の解決に向けた有効な取り組みの一つですが (ちなみに fusssvc.exe は Fast User Switching Utility Service というものです)、もちろん本当にこのプロセスが何なのかを知るためには Web で調べる必要があります。新しいタスク マネージャーでは、右クリックで表示されるコンテキスト メニューに検索が組み込まれており、既定の検索エンジン (これはカスタマイズ可能です) に直接ジャンプして、詳細情報や関連情報を調べることができます。バックグラウンド プロセスが有用なことをしているのか、単に無駄なサイクルを消費しているのかを判断する際、これは非常に大きな意味を持ちます。

わかりにくいプロセスの詳細について Web を検索する
図 16: わかりにくいプロセスの詳細について Web を検索する

 

"fussvc.exe Fast User Switching Utility Service" で検索した結果
図 17: "fussvc.exe Fast User Switching Utility Service" で検索した結果

サービス ホストの詳細とフレンドリ名

Windows 7 でタスク マネージャーの [プロセス] タブを開いて [すべてのユーザーのサービスを表示] をクリックすると、おそらく一見同一のインスタンスに見える "svchost.exe" が 8 つ表示されるでしょう。これは、私たちが従来提供していた "情報としてあまり意味のない情報" の例として、最もよく見られるものの一つです。もちろん、これが実際には単なるサービス ホスト プロセスであり、どんなプロセスかを知りたければ PID 列を追加して PID を確認し、[サービス] タブに移動して PID で並べ替えを行い、その PID に関連するサービスを確認し、それらのサービスのフレンドリ名を逆引きする、という手順をご存知の方もいらっしゃるでしょう。しかしこれはかなり手間のかかる作業です (そしてだれもが知っている事実とはとても言えません)。新しいタスク マネージャーでは、すべてのサービスはプロセスごとにグループ化され、それぞれにフレンドリ名が表示されます。このため、たとえば svchost のインスタンスがリソースを大量に消費していれば、実際何が起こっているのかを調べることができます。

Windows 8 のタスク マネージャーで、親プロセス "Service Host: Local Service" の下にいくつかのサービスが表示されているようす。図 18: サービス ホストのグループ化と詳細

ご覧いただいたとおり、新しいタスク マネージャーには多くの改良点が盛り込まれています (しかも、お見せしたのは最初のタブだけです!)。タスク マネージャーの改良は、ユーザー エクスペリエンス デザイナーと研究スタッフが、テクニカル プログラム マネージャーやエンジニアと協力して、クリーンで整理された効率的なデザインを作り上げるという、ユニークな機会となりました。メインストリームのユーザーにとってはより合理的で、パワー ユーザーにとってはよりきめ細かいツールとなっています。

タスク マネージャーが実際に動作しているようすをご覧いただける簡単なデモをご紹介して、しめくくりたいと思います。


ビデオをダウンロードしてお好みのメディア プレーヤーで再生することができます:
高画質 MP4 | 低画質 MP4

-- Ryan

  • Loading...
Leave a Comment
  • Please add 6 and 6 and type the answer here:
  • Post