Windows Summit 2010 2019/9/1 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
トランスクリプト付き日本語翻訳ファイルについて Windows Summit 2010 2019/9/1 トランスクリプト付き日本語翻訳ファイルについて この PowerPoint ファイルには、「ノート」 セクションにセッションの講師が話している内容を書き起こしたもの (トランスクリプト) を入力しています。 ノートを参照するには、PowerPoint の表示モードを [標準] または [ノート] に設定してください。[標準] の場合は、スライド表示ウィンドウの下 (ノート ペイン) に表示されます。 ノート表示モードで見た際に、ノートが 1 ページに収まりきらない場合は、該当するスライドを複製し、複数ページにわたってノートを入力しています。そのため、オリジナルの英語版ファイルと比較して、スライド番号やスライドの枚数が異なる場合があります。 ノートを印刷するには、[印刷プレビュー] または [印刷] 画面において、[印刷対象] を [ノート] に指定してください。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Windows Summit 2010 2019/9/1 Improving System Performance by Creating Efficient Background Activities (バックグラウンド アクティビティ を効率化してシステム パフォー マンスを向上させる) こんにちは。Microsoft Windows Summit 2010 へようこそ。私は Vikram Singh と申します。 Windows でバックグラウンド アクティビティを効率化し、システム パフォーマンスを向上させる方 法についてご説明します。 Vikram Singh Program Manager II Microsoft Corporation © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
目的 開発者が効率的なバックグラウンド アクティビティの設計の重要性を 理解できるように支援する Windows Summit 2010 2019/9/1 目的 開発者が効率的なバックグラウンド アクティビティの設計の重要性を 理解できるように支援する 効率的なバックグラウンド アクティビティの設計に関する情報と ツールを開発者に提供する 本セッションの目的は、Windows のバックグラウンド アクティビティについて、その重要性を確認す るとともに、効率的な設計の意義を考えることです。また、開発者の皆様が効率的なバックグラウンド アクティビティを設計するのに役立つような Windows のツールとテクノロジもご紹介します。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
議題 はじめに バックグラウンド アクティビティの影響 適切なモデルの選択 Windows® 7 トリガースタート サービス Windows Summit 2010 2019/9/1 議題 はじめに バックグラウンド アクティビティの影響 適切なモデルの選択 Windows® 7 トリガースタート サービス タスク スケジューラの条件とトリガー セキュリティとパフォーマンスの推奨事項 皆様へのお願い リソース こちらが本日の議題です。まず、バックグラウンド アクティビティの定義を行い、それから、バックグ ラウンド アクティビティの設計が不適切な場合に Windows に発生する影響についてご説明します。 次に、効率的なバックグラウンド アクティビティを設計するのに役立つ Windows のモデルをご紹介 し、適切な選び方を考えます。Windows のバックグラウンド アクティビティを開発するのに利用でき る一般的なモデルは 2 つあります。サービス設計用の Windows サービス コントロール マネージャー プログラミング モデル、そしてタスク設計用のタスク スケジューラ プログラミング モデルです。本 セッションでは、それぞれについて詳しく見ていきます。次に、Windows のすべてのバックグラウン ド アクティビティに適用される、セキュリティとパフォーマンスの全般的な推奨事項を説明します。次 に、本セッションをご覧の開発者の方へお願いしたい事項をまとめます。ご紹介する推奨事項を採用 し、自社製品を、よりエネルギー効率に優れた方法で設計していただきたいと考えています。最後に、 バックグラウンド アクティビティの設計に関する詳細な説明資料をご紹介します。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
バックグラウンド アクティビティ入門 ユーザーによって直接開始されない システム アクティビティ ほぼすべての使用シナリオの一部 Windows Summit 2010 2019/9/1 バックグラウンド アクティビティ入門 ユーザーによって直接開始されない システム アクティビティ サービス、スケジュールされたタスク、 一部の COM プロセス (COM サービスなど)、 WMI プロバイダー、その他 ほぼすべての使用シナリオの一部 検索のインデックス処理 システムのセキュリティおよび保守 ネットワークの管理 デバイスの管理 システムの構成 バックグラウンド アクティビティの定義について、マイクロソフトでは、「ユーザーが直接開始しない システム アクティビティ」としています。Windows には、画面に示すとおり、サービス、スケジュー ルされたタスク、COM プロセス、WMI プロバイダーなど、さまざまな種類のバックグラウンド アク ティビティ モデルがあります。バックグラウンド アクティビティ モデルが提供するシナリオにより、 ユーザー向けのさまざまな実装が可能になります。検索のインデックス処理はその代表例です。 Windows Search サービスがバックグラウンドで機能し続け、電子メールやドキュメント、写真、ビ デオなどのあらゆる種類のユーザー データについて、インデックス処理を行います。他にも、システム のセキュリティや保守を目的としたバックグラウンド アクティビティや、ユーザーの PC のネットワー ク管理を行うアクティビティがあります。デバイスの管理やシステムの構成を行うバックグラウンド ア クティビティもあります。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
バックグラウンド アクティビティの影響 パフォーマンス 信頼性 セキュリティ 電力消費 ユーザーへの応答性の低下 Windows Summit 2010 2019/9/1 バックグラウンド アクティビティの影響 パフォーマンス ユーザーへの応答性の低下 フォアグラウンド アプリ ケーションのリソースの消費 ブート、シャットダウン、 およびログオフへの影響 信頼性 メモリ リーク システムのクラッシュ、 ハング 依存アプリケーションの クラッシュ セキュリティ アクティビティにシステム 特権が必要になる場合がある 攻撃によってシステム全体が危 害を受けることがある 電力消費 ディスク、CPU 使用率の 増加 バッテリの寿命の減少 アイドル状態の効率の喪失 バックグラウンド アクティビティの設計が適切でなければ、PC のパフォーマンスやユーザー エクスペ リエンスに悪影響が及びます。Windows には、全体的として快適なユーザー エクスペリエンスを実現 するために考慮すべき、4 つの主要な分野があります。 まずは、パフォーマンスです。バックグラウンド アクティビティの設計が不適切だと、ユーザーへの応 答性が低下します。先ほどの Windows サーチの例で言えば、ユーザーへの応答性が低いというのは、 特定のファイルを検索しようとしてもなかなか結果が表示されず、ユーザーの期待する操作性を提供で きないということです。また、その他の悪影響としては、CPU やディスク、メモリなどのシステム リ ソースが余分に消費されることになり、フォアグラウンド アプリケーションのエクスペリエンスが低下 します。たとえば、Windows サーチ サービスが CPU サイクルを過剰に消費すると、ユーザーがフォ アグラウンドで使用している Outlook や Word などの生産性アプリケーションにも影響します。 次の主要分野は、信頼性です。通常バックグラウンド アクティビティには、長時間動作し続ける、そし てシステム特権を使用するという 2 つの特性があります。そのため、バックグラウンド アクティビ ティは、非常に信頼性の高い設計にする必要があります。長時間のバックグラウンド アクティビティが メモリ リークを起こし続けると、システムの信頼性は損なわれます。また、バックグラウンド アク ティビティが高い特権を使用してシステム内で動作していると、何か問題が起きた場合、アクティビ ティがシステム クラッシュやハングを引き起こすことがあります。バックグラウンド アクティビティ が信頼性に関するこうした問題を抱えている場合、それに依存するアプリケーションも、クラッシュや ハングの原因となります。 バックグラウンド アクティビティの設計において重要な第 3 の分野は、セキュリティです。バックグ ラウンド アクティビティは、先に説明したように、高度なシステム特権を必要とすることがあります。 よって、バックグラウンド アクティビティに潜在的な脆弱性があれば、将来、システム全体に危害が及 ぶ可能性があります。 第 4 の分野は、電力消費です。最近のモバイル システムでは、バッテリ寿命や全体のエネルギー効率 が、ますます重要視されています。設計の不適切なバックグラウンド アクティビティは、モバイル シ ステムのバッテリ寿命に直接影響を及ぼすことがあります。バックグラウンド アクティビティによって CPU サイクルが余分に消費され、ディスク I/O が頻繁に繰り返されると、システム全体の電力消費が 増え、バッテリ寿命が減るからです。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
バックグラウンド アクティビティの影響に関するケース スタディ Windows Summit 2010 2019/9/1 バックグラウンド アクティビティの影響に関するケース スタディ 49 個の Windows サービスについて確認 これらのサービスは、ブートとログオンには必須ではない 特定の機能を確保するために必要とされる リソース 数量 ファイル I/O 47,286 コピー オン ライト (COW) ページ 4,656 (~18 MB) メモリ ページ (合計) 15,967 (~60 MB) レジストリ操作 38,508 スレッド 367 マイクロソフトでは、Windows 7 の開発中にバックグラウンド アクティビティの影響についてのケー ス スタディを行い、Windows ブート時に開始される 49 の Windows サービスを再点検しました。そ して、これらのサービスが、ブートやユーザー ログオンには必須でないものの、それぞれ特定の機能を 実行するために不可欠であることを突き止めました。これらのバックグラウンド アクティビティの複合 的な影響を示したのが、こちらの表になります。ファイル I/O が約 47,000 回実行され、メモリ ペー ジは約 60 MB 使用されています。Windows サービスをはじめとする 1 つ 1 つのバックグラウンド アクティビティは、システムにそれほど大きく影響しませんが、複数のバックグラウンド アクティビ ティが組み合わされると、システムへの影響があっという間に増大することがわかります。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Windows Summit 2010 2019/9/1 パフォーマンスへの影響 クリーン インストールの Windows Vista® と、10 個のサード パーティ製サービスがインストールされた IT イメージとの比較 マイクロソフトはさらに、Windows Vista のクリーン インストールと、ある業界パートナーが展開す る IT イメージを比較しました。この IT イメージには、10 のサードパーティ製サービスが追加インス トールされています。ご覧のとおり、Windows Vista のクリーン インストールの起動時間は、IT イ メージのたった半分ほどです。IT イメージの起動時間は約 46 秒と、クリーン インストールより大分 長めです。その他にも重要な数値がありますが、特に重要なのがアイドル時の CPU 使用率で、IT イ メージは約 6% です。クリーン インストールが 1% なので、6 倍にもなります。アイドル時のベース ライン システムで、これらの値をできるだけ抑えることを目指します。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
効率を良くするための設計 適切なモデルの選択 最新の Windows インフラストラクチャの活用 パフォーマンスの最適化 不要な特権の排除 Windows Summit 2010 2019/9/1 効率を良くするための設計 適切なモデルの選択 Windows サービスか、スケジュールされたタスクか? 最新の Windows インフラストラクチャの活用 Windows 7 のトリガースタート サービス パフォーマンスの最適化 不要な特権の排除 評価と測定 最適化の繰り返し このスライドは、設計においてバックグラウンド アクティビティの効率性を高め、モバイルやデスク トップの電力消費に及ぼす影響を抑えるための、一般的な推奨事項をいくつか示しています。最初の推 奨事項は、適切な Windows 向けモデルを選択することです。マイクロソフトが通常お勧めしているモ デルは 2 つあります。Windows サービス プログラミング モデルと、スケジュールされたタスク モデ ルです。それぞれに利点と欠点があります。モデルの選択に役立つ資料を後ほどご紹介します。また、 最後の参考資料のスライドにも追加資料を記載しています。次の推奨事項は、最新の Windows インフ ラストラクチャを常に活用することです。たとえば Windows 7 では、開発者の方向けに、トリガー ス タート サービスのサポートを導入しています。このサービスについては、後で詳しくご説明します。次 は、全体的なパフォーマンスを最適化させることです。全体的な Windows パフォーマンスの目標を満 たすように、CPU 使用率やディスク I/O、アイドル時の使用率の値を最適化します。たとえば、アイド ル時の CPU 使用率は 2% 未満にすることが推奨されています。さらに、セキュリティに配慮し、バッ クグラウンド アクティビティでは必要な特権だけを使用することを推奨します。最後の推奨事項は、開 発者、およびバックグラウンド アクティビティの責任者として、設計のパフォーマンスやセキュリ ティ、エネルギー効率に納得するまで評価と測定を続けること、そして最適化を繰り返すことです。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
適切なモデルの選択 スケジュールされたタスク Windows サービス ブートから シャットダウン までの継続的なア クティビティ Windows Summit 2010 2019/9/1 適切なモデルの選択 ブートから シャットダウン までの継続的なア クティビティ SCM (サービス コ ントロール マネージャー) プ ログラミング モデ ル 依存関係を指定可 能 アクションの 持続時間が短い アイドル アクティビティ ユーザー ログオン に対するアクション の実行 スタンドアロン 実行可能ファイルま たはプロセス外 COM サーバー 通常、ユーザー セッション中に 実行 スケジュールされたタスク Windows サービス このスライドでは、2 つのモデルを見ていきましょう。Windows サービス プログラミング モデルと、 スケジュールされたタスク プログラミング モデルです。それぞれを差別化している主な属性を確認 し、ご自身のバックグラウンド アクティビティ設計にふさわしいのはどちらのモデルかを判断してみて ください。一般に、サービス プログラミング モデルは、長時間にわたるバックグランド アクティビ ティ、つまり、システムのブート時からシャットダウン時までずっと動作するようなアクティビティに 適しています。サービス コントロール マネージャー プログラミング モデルは、Windows プラット フォームに組み込まれており、MSDN Web サイトに SDK ドキュメントが用意されています。また、 このモデルではサービス間の依存関係を指定できます。つまり、サービス A をサービス B に依存させ れば、サービス B が常に A より前に起動されるようになります。一方、スケジュールされたタスク は、短時間のタスクやアクティビティに適しています。スケジュールされたタスクはまた、システム ア イドル時のアクティビティの実行をサポートします。さらに、実行可能なファイル、スクリプト、また はプロセス外 COM サーバー プロセスをアクションとして実行することもできます。ユーザー セッ ションの内部でタスクを実行することもできます。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Windows サービス: Auto_Start Windows Summit 2010 2019/9/1 Windows サービス: Auto_Start 開始の種類 Auto_Start では、サービスを ブート時に開始することができる 最も一般的に使用されるサービス開始の種類 サービスが常に実行中になるため、開発者に とっては扱いやすい 問題 サービス起動時間がブート時間に加算される システムのベース フットプリントが増加する Auto_Start サービスの多くは、まれにしか発生しな いイベントに対して待機する ここからは 2、3 のスライドを使い、Windows サービスのいくつかの属性、そして Windows サービ ス開発のベスト プラクティスをご説明します。まずは、Windows サービス開始の種類として最も一般 的な Auto_Start についてです。Auto_Start を使用すると、PC のブート時にサービスが開始されま す。サービス自身がシャットダウンしない限り、Windows セッションの継続中、サービスも継続しま す。Auto_Start は、サービス開始の種類として広く使用されています。開発者がこれを好む理由の 1 つに、サービスが常に実行中となるため、サービスに依存するクライアントがその機能を確実に利用で きるということがあります。ただし、Auto_Start には問題点もあります。システム ブート時に、他の 多くのプロセスと一緒にサービスが起動されるため、個々のサービスの起動時間が加算され、システム ブートとユーザー ログオンに余計な時間がかかります。また、Windows セッション中、サービスが実 行され続けるため、わずかながらその分だけ、システムのベース フットプリントが増加します。通常、 多くの Auto_Start サービスの機能は、Windows セッション中ずっと有効にされているわけではあり ません。それならば、該当するシナリオがアクティブのときにだけサービスを起動させるのが、一般的 にはよいでしょう。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Windows サービス: トリガースタート Windows Summit 2010 2019/9/1 Windows サービス: トリガースタート Windows 7 トリガースタート サービスは、環境 検出ロジックを中心とする 対象とするシステム イベントを SCM が登録 する デバイスの到着 IP アドレスの使用可能性 ドメインへの参加と参加解除 グループ ポリシーの更新 ファイアウォール ポートの開閉 カスタム ETW (Event Tracing for Windows) イベント イベントに基いて、登録されているサービスを SCM が開始または停止する Windows 7 の開発中に実感したことですが、多くのサービスは、あまり頻度の高くない特定のシステ ム イベントの発生時にのみアクティブであれば事足ります。特定のカテゴリのデバイスを管理するデバ イス管理サービスがその例です。Windows 7 では、サービス コントロール マネージャー プログラミ ング モデルでサポートされるデバイスの到着トリガーにより、このサービスのトリガー スタートを実 行できるようになりました。特定のデバイス カテゴリに属するデバイスが 1 台でも存在すれば、その カテゴリのデバイスを管理できます。たとえば、タブレット入力サービスのトリガー スタートが可能で す。デジタイザ デバイスがシステムに 1 台でも接続されれば、サービスが開始されます。マイクロソ フトでは、その他にも発生のまれなイベントをいくつか特定し、それらへのトリガー サポートを有効に しました。リストにある IP アドレスの使用可能性は、アクティブな IP アドレスが PC に 1 つ以上存 在する場合にのみサービスを開始するトリガー イベントです。また、PC が特定のドメインに参加した ときにだけ必要とされるサービスを、ドメインへの参加および参加解除トリガーに登録できるようにし ています。これにより、ドメインに参加した時点でサービスを開始し、参加を解除した時点で停止でき ます。グループ ポリシーの更新に関するサービスに対しては、グループ ポリシー トリガーを利用でき ます。さらに、ファイアウォール ポートの開閉トリガーも利用できます。ただし、こうした一般的なト リガーだけでは不十分だとマイクロソフトは考えました。サービスの開始や停止には、独自のカスタム トリガーが必要な場合もあるからです。このようなシナリオの柔軟性を確保するために、カスタム Event Tracing for Windows イベント トリガーを実装しました。サービスがこれを使用すると、独自 のトリガー スタートが可能になります。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
デモ サービスをトリガー スタートに変換する Windows Summit 2010 2019/9/1 これからご覧いただくデモについてご説明します。ここでは非常に基本的な、USB メモリ スティック からファイルを読み取り、PC のディスクに転送するというサービスを取り上げます。このサービスは もともと、Auto_Start で開始され、常時実行され続けるように設計されています。サービスは、USB メモリ スティックの接続を監視し、スティックが差し込まれたのを確認してから、スティック内のファ イルをディスクにコピーするというアクションを実行します。ここで、メモリ スティックからファイル をコピーするアクションをアクティブに実行していないときも、多少のフットプリントが発生している ことを示します。次に、このサービスを変換し、USB メモリ キーがシステムに差し込まれたときにだ け、サービス開始トリガーによって開始されるようにしたいと思います。 このデモに使用するサービスのコードは、ご覧のとおりです。このサービスには、システムに接続され た USB ドライブの有無を数秒ごとにチェックするタイマーがあります。このコードはドライブの差込 みを検知すると、ドライブが USB メモリ ドライブであるかどうか、ドライブ内にファイルがあるかど うかを調べ、ハード ディスクの C:\Pictures にファイルをコピーします。このコードをコンパイルし ます。ビルドが成功しました。次に、このサービスを PC に登録します。この新しいサービスの登録に は、Sc.exe ツールを実行するスクリプト ファイルを使用します。まず、Auto_Start サービスを作成 します。作成できました。サービスを開始します。コマンド ウィンドウを見ると、開始待ちの状態で す。開始されました。タスク マネージャーを見てみましょう。現時点で、この USB File Service とい うサービスのメモリ フットプリントは約 3 MB、CPU フットプリントはほぼゼロです。画像が数枚 入った USB メモリ キーを PC に差し込むと、先ほど作成した USB サービスによって C:\Pictures に ファイルがコピーされます。コピーが終わったようです。C:\Pictures を開いてみると、確かに画像が コピーされていますね。ご覧のとおり、画像をコピーするというタスクを終え、必要なアクションはす べて済んでいるのに、サービスが継続しています。このようなシナリオでは、トリガー モデルを使用さ れるとよいでしょう。必要なアクションがあるときにだけサービスをトリガー スタートし、アクション 終了後はサービスをシャットダウンします。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
サービスをトリガー スタートに変換する (続き) Windows Summit 2010 2019/9/1 デモ サービスをトリガー スタートに変換する (続き) 次は、サービス開始の種類を Auto_Start サービスから、USB の接続に基づくトリガー スタートに変 更します。そして、サービスが停止した状態からでも、同じアクションを実行できることをお見せした いと思います。まず、サービスを停止し、ファイルを USB ドライブに戻します。サービスを停止しま す。停止待ちの状態です。停止しました。ファイルを USB ドライブに戻します。うまくいったようで す。PC から USB ドライブを取り外します。では、サービスのコードに変更を加えましょう。自動実行 サービスとタイマー コードによって USB ドライブを監視し続ける必要がないので、タイマー コードを 削除します。タイマー イベントで呼び出される実際の関数も削除します。サービス開始と共に USB ド ライブを探し、そこからファイルをコピーするというアクションを実行しましょう。そこで、OnStart 関数をサービス コードに追加します。USB ドライブからファイルをコピーするというアクションは同 じです。コードを再コンパイルします。ここで、サービスをトリガーに登録しておく必要があります。 登録には別のスクリプトを使用します。このスクリプトを実行すると、Sc.exe コマンド ライン ツール を呼び出し、USB キーのデバイス トリガーを USB サービスに登録できます。コマンド ウィンドウを 見るとおわかりのように、このサービスは、デバイス インターフェイスが、特定クラスの GUID、ここ では USB ドライブに対応する一意の GUID と共に到着したときに開始するよう設定されています。ペ イロードでは、USB メモリ タイプのドライブが USBSTOR\GenDisk のデータ セグメントであること を指定します。サービスの状態をチェックしてみると、停止しています。現在、ピクチャ フォルダーに 画像はありません。USB メモリ キーには画像があります。USB キーを差し込むと、サービスが開始さ れます。USB キーのファイルがピクチャ フォルダーにコピーされます。サービスが実行中です。USB キーの接続に基づいて、サービス コントロール マネージャーが USB サービスをトリガー スタートし ました。ピクチャ フォルダーを開いてみると、サービス開始と共に、USB キーからファイルがコピー されたことがわかりますね。アクションが無事終了したら、一定のアイドル時間の後、サービスが自動 停止するようにしてください。この作業は、必ず行っていただきたいと思います。サービスは後で再び 開始できるので、実行し続ける必要はありません。しばらくの間不要となるサービスは、自動的に停止 するようにしてください。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
トリガースタート サービスの例 サービス名 サービスの目的 トリガーの種類 AELookupSvc カスタム ETW BDESVC Windows Summit 2010 2019/9/1 トリガースタート サービスの例 サービス名 サービスの目的 トリガーの種類 AELookupSvc 起動するアプリケーションに対して、 アプリケーションの互換性のキャッシュ要求 を処理する カスタム ETW BDESVC ユーザー インターフェイスに対する BitLocker クライアント サービスとデータ ボリュームの自動ロック解除機能を提供する BTHSERV リモートの Bluetooth デバイスの検出と関連付けをサポートする デバイス SensorsMTPMonitor GPS 受信機付きの携帯電話など、MTP (メディア転送プロトコル) センサーを監視し、センサーのデータをプログラムに伝達する TabletInputService ペンおよびインク機能を有効にする WinDefend スパイウェアや、望ましくない可能性のある ソフトウェアから保護する グループ ポリシー この一覧表は、トリガー スタート機能を活用した Windows 7 のサービスの例です。一番右の欄を見る と、カスタム ETW トリガーを使用したサービスがあることがわかりますね。上から 3 つ目の Bluetooth サービスは、デバイス トリガーを使用しています。一番下の Windows Defender サービス は、グループ ポリシー更新トリガーを使用しています。トリガーを使用したサービスは 30 種類ほどあ り、Sc.exe コマンド ラインを使うと、それらを列挙することができます。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
サービスのシャットダウン – ベスト プラクティス Windows Summit 2010 2019/9/1 サービスのシャットダウン – ベスト プラクティス サービスは、タスクの完了後すぐに、またはあ らかじめ定められたアイドル時間が経過した後 に、自動的に停止するようにする システムのシャットダウン時: 必要な場合以外は、 SERVICE_ACCEPT_SHUTDOWN を設定 しない サービスがスタンドアロン プロセスにある 場合は、メモリを解放する必要はない シャットダウン通知の完了のターゲットは 200 ミリ秒未満にする では次に、サービス開発のベスト プラクティスについて説明します。開発者の方に特に注意していただ きたいベスト プラクティスです。サービスのシャットダウンは、できる限り自動で行われるようにしま す。サービス機能のビジネス ロジックを理解し、タスクが完了したら、事前に設定されたアイドル時間 が経過した時点でサービスをシャットダウンさせる必要があります。システムのシャットダウン時は、 必要な場合以外、サービスが SERVICE_ACCEPT_SHUTDOWN 状態コードを受信しないようにしま す。また、サービスが専用のスタンドアロン プロセスでホスティングされている場合、メモリを解放す る必要はありません。さらに、サービス コントロール マネージャーからのシャットダウン通知は、 200 ミリ秒未満で完了することを目標にしてください。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
サービス コントロール ハンドラー – ベスト プラクティス Windows Summit 2010 2019/9/1 サービス コントロール ハンドラー – ベスト プラクティス 呼び出しをブロックしない WaitForSingleObject、CreateFile、RPC、その他 ロックのないコードの作成に努める スレッド プールで作業項目を実行する 個別リターン コードに関する MSDN のガイド ラインに従う SERVICE_CONTROL_STOP を使用する SetServiceStatus(SERVICE_STOP_PENDING)を 呼び出す 停止処理をスレッド プールにポストする SetServiceStatus(SERVICE_STOPPED) を呼び出す サービス コントロール ハンドラーの内部では、呼び出しがサービス設計によってブロックされないよ うにします。WaitForSingleObject や CreateFile、RPC などのアクティビティはブロックしないでく ださい。また、作業項目がある場合は、必ずスレッド プールで実行してください。MSDN には、サー ビス開発者の方の参考となるようなリターン コード別の優れたガイドラインや、その他、参考になる サービスの例が掲載されています。SERVICE_CONTROL_STOP では、必ず次のシーケンスを実行する ようにしてください。まず、サービス状態を SERVICE_STOP_PENDING に設定し、次に、停止に関 する作業項目をスレッド プールにポストします。スレッドでこれらの処理が完了したら、 SetServiceStatus (SERVICE_STOPPED) を呼び出します。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
サービスのセキュリティ – ベスト プラクティス Windows Summit 2010 2019/9/1 サービスのセキュリティ – ベスト プラクティス タスクの実行に必要な最小限の 特権レベルで実行する LocalService/NetworkService を使用する LocalSystem の使用は避ける 必要な特権を明示する その他のすべての特権が SCM に よって自動的に削除される SeImpersonatePrivilege など不 要な特権を削除する SERVICE_REQUIRED_PRIVILEGES_INFO srpInfo; WCHAR mszPrivilegeBuffer[25] = {0}; hSCManager=OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT); hFooService=OpenService(hSCManager, wszSERVICENAME, SERVICE_CHANGE_CONFIG); ( VOID ) StringCbCopy ( mszPrivilegeBuffer, sizeof(mszPrivilegeBuffer), L”SeChangeNotifyPrivilege”); srpInfo.pmszRequiredPrivileges = mszPrivilegeBuffer; ChangeServiceConfig2 ( *phService, SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO, &srpInfo) ) サービスのセキュリティに関するベスト プラクティスも重要です。先ほども述べましたが、サービスの タスクを実行するのに必要な最小限の特権レベルだけを使用するようにしてください。常に LocalService または NetworkService アカウントを使用し、システムで最高の特権を持つ LocalSystem アカウントの使用は避けてください。システム アカウントに限らず、サービスには必要 な特権だけを関連付けるようにしてください。サービス コントロール マネージャーには、不要な特権 を自動的に削除するという優れた機能があります。さらに、偽装の特権などの不要な特権はサービス ア カウントから削除しましょう。右側のコード例をご覧ください。このサービスに関連付けられた特権は SeChangeNotifyPrivilege だけであり、それ以外はすべてサービスから自動的に削除されるようになっ ています。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
スケジュールされたタスクの例 電源効率の診断 電源の問題の分析 2 週間に 1 回、システムのアイドル時 に実行 Windows Summit 2010 2019/9/1 スケジュールされたタスクの例 電源効率の診断 電源の問題の分析 2 週間に 1 回、システムのアイドル時 に実行 NT Kernel Logger にアクセスするため に SYSTEM 特権が必要 ユーザー用のレポート データを 保存 CEIP (カスタマー エクスペリ エンス向上プログラム) データを Microsoft にアップロード カーネル アイドル状態を検出 タスク スケジューラ (スケジュール) 次に、タスク スケジューラ タスクの属性について説明します。この最初のスライドは、Windows 7 タ スクの一例です。このタスクの名前は、電源効率の診断です。タスクは、電源の問題を分析するため に、2 週間に 1 回、システムのアイドル時に実行されます。ユーザーの邪魔にならないよう、2 週間に 1 回だけ、システムのアイドル時にのみ実行されるということです。このタスクでは、カーネル ロガー へのアクセスが必要です。それが可能なのはシステム特権だけなので、システム特権が必要です。この タスクによってレポート データがユーザー用に保存されますが、ユーザーがカスタマー エクスペリエ ンス向上プログラムに参加している場合は、データがマイクロソフトにアップロードされます。 タスクの起動 電源効率の診断 (powercfg.exe) © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
タスクのトリガー カレンダー ブート ログオン アイドル イベント ログ項目 ワークステーション のロック ワークステーション のロック解除 Windows Summit 2010 2019/9/1 タスクのトリガー カレンダー ブート ログオン アイドル イベント ログ項目 ワークステーション のロック ワークステーション のロック解除 タスク スケジューラ プログラミング モデルでサポートされるトリガーをいくつかご紹介します。まず は、ほとんどのタスクで使用するカレンダー トリガーです。このトリガーを使用すると、月に 1 度水 曜日に、または毎日午前 1 時に実行する、というようにタスクをスケジューリングできます。次は、 ブート トリガーとログオン トリガーです。名前のとおり、ブート トリガーはシステムの起動時に、ロ グオン トリガーはユーザーのログオン時にタスクをトリガーします。アイドル トリガーは、システム のアイドル時にタスクをトリガーします。アイドル時に限って実行したいタスクには、これを使用して ください。次に、汎用のイベント ログ項目トリガーがあり、特定のイベント ログ項目エントリがイベ ント ログに作成されると、タスクをトリガーします。また、ワークステーションのロック トリガーお よびロック解除トリガーがあり、ワークステーションがロックまたはロック解除された時点で、タスク をトリガーできます。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
タスクの条件 アイドル状態 アイドル時以外は停 止 AC 電源のみ バッテリ使用時は停 止 コンピューターのス リープを解除 Windows Summit 2010 2019/9/1 タスクの条件 アイドル状態 アイドル時以外は停 止 AC 電源のみ バッテリ使用時は停 止 コンピューターのス リープを解除 特定、または あらゆるネット ワーク接続時 タスクでは、トリガーのほかに、条件も指定できます。タスクでよく使用されるので、ぜひ検討してい ただきたいのは、アイドルやバッテリ、ネットワーク関連の条件です。アイドル条件を使用した場合、 タスクがトリガーによって起動される際、アイドル状態のチェックも行われます。タスクが実行を開始 しようとしたときに、システムがアイドル状態でなければ、タスクは実行されません。つまり、毎週水 曜日の午前 1 時に実行するように指定され、アイドル チェックの条件も追加指定されているタスク は、その時刻になってもシステムが使用されていると、開始されません。同様に、バッテリ条件を指定 すると、システムが DC 電源ではなく AC 電源に接続されている場合にだけタスクを実行できます。最 後に、ネットワーク条件を使用すると、特定の、または任意のネットワークが使用できる場合に限り、 タスクを実行できます。ネットワーク接続が必要なタスクには、この条件を使用するとよいでしょう。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
タスクの推奨事項 アイドル状態の条件を使用して、 バックグランド アクティビティが ユーザーの処理に割り込まないようにする Windows Summit 2010 2019/9/1 タスクの推奨事項 アイドル状態の条件を使用して、 バックグランド アクティビティが ユーザーの処理に割り込まないようにする 電力状態の条件を有効にする – バッテリ 使用時には実行しない ソフトウェア更新プログラムのダウンロードな ど、ネットワーク接続を必要とするタスクでは、 ネットワーク状態の条件を有効にする タスクについては、PC 内の調和が保たれるよう、アイドル条件を使用し、システムが使用されていな い場合にのみバックグラウンド アクティビティを実行することをお勧めします。電力状態の条件を有効 にして、システムがバッテリを使用しているときはタスクが実行されないようにし、バッテリの寿命を 保ってください。また、ネットワーク接続を必要とするタスクには、ネットワーク状態の条件を有効に します。たとえばサーバーからソフトウェアの更新をダウンロードするタスクは、ネットワークが使用 できない状態では実行できません。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
パフォーマンスと電力消費 バックグラウンド アクティビティによって PC パフォーマンスが低下することがある Windows Summit 2010 2019/9/1 パフォーマンスと電力消費 バックグラウンド アクティビティによって PC パフォーマンスが低下することがある システムのべース フットプリントが増加する フォアグラウンドのユーザー アクティビティを 妨害する リソース使用率が電力消費に直接関係する システムのアイドル時をターゲットにする CPU アクティビティが 2% 未満 ディスク アクティビティなし パフォーマンスの評価と測定を行う XPerf を使用 XPerf は Windows Performance Tools Kit の一部 このスライドは、電力消費とパフォーマンスの基本的な推奨事項を示しています。最初の項目は、開発 者の方に理解していただきたい大切なポイントです。設計が不適切なバックグラウンド アクティビティ は、全体の PC パフォーマンスとユーザー エクスペリエンスを損なう可能性があります。その場合、シ ステムのベース フットプリント、つまり、CPU 使用率やディスク I/O、メモリ使用率が増大します。 バックグラウンド アクティビティが、フォアグラウンドのユーザー アクティビティを妨害することが あります。後々のシナリオに役立つアクティビティをバックグラウンドで行う場合でも、現在のユー ザー アクティビティには影響を与えないようにしてください。また、リソース使用率は、PC の電力消 費に直接関係するので重要です。ディスクの使用率と CPU 使用率が上がれば、エネルギー効率は低下 し、結果として PC のバッテリ寿命も短くなります。開発者の皆様への推奨事項として、Windows PC に新しいバックグラウンド アクティビティを導入する際は、システム アイドル時の CPU アクティビ ティを常に 2% 未満に抑えることを目標にしていただきたいと思います。私の PC は今アイドル状態 で、PowerPoint を表示しているだけなので、CPU 使用率は 2% 未満のはずです。さらに、システム アイドル時には、ディスク アクティビティはゼロであるのが望ましいです。開発者の方は、デバッグ ログなどの、ユーザー エクスペリエンスに直接影響するとは思われないアクティビティを追加される傾 向があります。こういったログのアクティビティを最適化し、シナリオで本当に必要な最小限のログだ けを実行し、ディスク アクティビティがゼロの状態を目指してください。また、パフォーマンスの評価 と測定を行い、目標が達成されていることを確認してください。マイクロソフトでは、Windows Performance Toolkit の一部として Xperf というツールを提供しています。Xperf は無償でダウンロー ドでき、パフォーマンスを総合的に測定できるので、ぜひご利用いただきたいと思います。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
皆様へのお願い バックグラウンド アクティビティはシステム品質に明確な影響 を及ぼすことを理解してください。 Windows Summit 2010 2019/9/1 皆様へのお願い バックグラウンド アクティビティはシステム品質に明確な影響 を及ぼすことを理解してください。 適切なモデル (サービスまたはタスク) を選択してください。 Auto_Start ではなく、Windows 7 のトリガー スタートを使用し てください。 最小限のセキュリティ特権セットを使用するようにサービスまた はタスクを構成してください。 スケジュールされたタスクの条件 (アイドル状態、電力状態、 ネットワーク状態) を活用してください。 Windows Performance Tools Kit (XPerf) を使用して測定してくだ さい。 このセッションの発表について、評価フォームへの記入をお願い いたします。 Windows 7 の開発にあたり、マイクロソフトではバックグラウンド アクティビティのパフォーマンス 向上を目指し、優れた設計をいくつか採用しました。これらの設計を完全に実装し、Windows のサー ビスやタスクでも使用できるようにしました。開発者の皆様には、ぜひこれらのバックグラウンド アク ティビティ プラットフォームを使用し、そのメリットを生かしていただきたいと思います。また、バッ クグラウンド アクティビティのエネルギー効率を高めることを念頭においてください。それに伴い、全 体のユーザー エクスペリエンスも向上します。開発者の方にまずご理解いただきたいのは、バックグラ ウンド アクティビティの設計が不適切だと、システムの品質が大きく損なわれるということです。した がって、Windows で利用できるモデルの中から、設計に最適なモデルを選択してください。必ず、最 新のプラットフォーム拡張機能を利用してください。Windows 7 の場合、サービスに Auto_Start は 使用せず、肝心のシナリオが始まったときにだけ、トリガー スタートを使用します。サービスでもタス クでも、バックグラウンド アクティビティの設定にあたっては、作業の実行に必要最小限の特権だけを 使用してください。バックグラウンド アクティビティは、それ自体が安全であると同時に、システム全 体に危険を及ぼさないものであることを確認してください。スケジュールされたタスクの条件であるア イドル状態、電力状態、ネットワーク状態を活用して、アイドル時のエネルギー効率を高め、PC 使用 時のユーザー エクスペリエンスに影響を与えないようにします。さらに、Windows Performance Toolkit の Xperf をはじめとする各種ツールを利用して、バックグラウンド アクティビティのパフォー マンスや、全体のパフォーマンスへの影響を測定してください。そして最後に、このセッションの発表 について、評価フォームにご意見をご記入いただけますと幸いです。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
リソース ホワイト ペーパー - Windows での効率的なバックグラウンド プロセスの開 発 Windows Summit 2010 2019/9/1 リソース ホワイト ペーパー - Windows での効率的なバックグラウンド プロセスの開 発 http://go.microsoft.com/fwlink/?LinkId=128622 ホワイト ペーパー - Windows Vista のサービス http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde- d599bac8184a/Vista_Services.doc MSDN - サービス コントロール マネージャー http://msdn.microsoft.com/en-us/library/ms685150(VS.85)aspx MSDN - タスク スケジューラ http://msdn.microsoft.com/en-us/library/aa383614.aspx Windows Performance Tools Kit http://www.microsoft.com/whdc/system/sysperf/perftools.mspx Windows Summit 2010 セッション SOW-T111: Hands-On Performance with the Windows Performance Toolkit (実践 - Windows Performance Toolkit を使用したパフォーマンス) Windows 7 の開発前から開発中にかけて作成されたリソースをご紹介します。効率的なバックグラウ ンド プロセスの開発についてのホワイト ペーパーは、バックグラウンド アクティビティの開発者の方 には、ぜひ読んでいただきたいと思います。本日のセッションで扱った問題を、さらに詳しく説明して います。こちらのリンクから、ぜひダウンロードしてください。また、Windows Vista の開発中に、 Windows Vista のサービスに関するホワイト ペーパーも作成されています。サービスの開発を Windows Vista から始められる方向けに、セキュリティ関連の優れた拡張機能を説明しています。さ らに、サービス コントロール マネージャー プログラミング モデルと、タスク スケジューラ プログラ ミング モデルに関する MSDN リンクがあります。そして、Windows Performance Toolkit へのリン クからは、XPerf ツールと関連資料をダウンロードできます。この Windows Summit 2010 では、ハ イ パフォーマンスな Windows アプリケーションを Windows Performance Toolkit で作成する方法 についてのセッションもあります。開発者の皆様は、こちらもぜひご覧ください。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Windows Summit 2010 2019/9/1 最後までご視聴いただき、ありがとうございました。開発者の皆様はいつでもマイクロソフトの適切な 担当者に連絡を取り、さらに詳しいガイダンスを得ることができます。本プレゼンテーションにリンク を記載した、MSDN の資料もご活用ください。ありがとうございました。 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.