1999 年 8 月 5 日 - この問題:

  1. システム内部の新機能

    • Portmon v3.0
    • Frob v1.5
    • ListDLLs v2.1
    • 新しいBOOT.INIオプション
    • PsList v1.0
    • 8 月の "NT 内部"
    • 新しい機能
  2. INTERNALS NEWS

    • 修正 Re: システム ファイル保護
    • Win2K RC1 DDK リリース
    • The Win2K AWE API
    • WinDev '99 West
  3. 予定されている情報

    • SP4 の文書化されていない DiskEdit ツール

スポンサー: ウロナルス ソフトウェア

Systems Internals ニュースレターは、Web 上の、次の Web で、次のページで提供されています。 http://www.winternals.com. ゾーン ソフトウェアは、2K/2K 用の高度なシステム ツールの主要な開発者Windows NTプロバイダーです。 ウインターナルス ソフトウェア製品には、Windows NT 4.0 用の FAT32、ERD コマンダー (Windows NT のブート ディスク機能)、NTRecover が含まれます。

ウインターナルス ソフトウェアは、最新のシステム回復ユーティリティ Remote Recover のリリースを発表します。 リモート回復を使用すると、企業内のどこからでも TCP/IP 経由で起動できないコンピューターのドライブにアクセスできます。 NT または Win9x システムをオフラインに維持しているドライバー、ファイル システム、および構成の問題をリモートで修正することで、時間を節約し、ドルをサポートします。 で無料の読み取り専用試用版をダウンロードし、 で読み取 http://www.sysinternals.com/rrecover.htm り/書き込みバージョンを購入します http://www.winternals.com.


皆さん、こんにちは。

Systems Internals ニュースレターの第 4 版へようこそ。 このニュースレターには現在、7,000 人のサブスクライバーがいます。

前回のニュースレターでは、2000 Windows (Win2K) AWE API について説明する必要があります。 AWE は "Address Windowing Extensions" (アドレス ウィンドウ拡張機能) を表すという指摘がありました (Windows の世界への新規ユーザーの場合、API は "アプリケーション プログラミング インターフェイス" を表します)。 Microsoft のハードウェア開発者向け Web サイトのこのページでは、次のように説明しています。 http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. しかし、読者の Laxmikant Gunda は、Microsoft の Web サイト () で別の URL を指し示しました。AWE は "高度なウィンドウ拡張機能" API に http://www.microsoft.com/windows/server/News/fromMS/intelpae.asp 指定されています。 明らかに、"アドレス" は API (このニュースレターの後半で説明します) のコンテキストでは "高度" よりも理にかなっています。そのため、ニュース ページの生の技術資料をダイジェストして目を使うマーケティングライターがいたと思います。

この混乱は、Microsoft の技術的な範囲で以前に発生しているのを見ていました。 最近では、Win2K Installable File Systems (IFS) Kit の Beta 3 リリースのセットアップ プログラムが、"Internal File Systems Kit" のセットアップとしてスプラッシュ スクリーンで発表されました。 IFS の "I" は常に "Installable" に対して立ち上がり、"Internal" はここではあまり意味がありません (キットの非パブリック バージョンを誤ってリリースしない限り)、翻訳で何かが台無しにされた別のケース (または、セットアップ コードラーにファイル システムチーム メンバーが便利ではなく、最適な推測を使用している場合) と推測しています。

私のポイントは何ですか? そのうち、頭字語のオーバーランが発生し、開発者とマーケティングの人が、異なるテクノロジを記述するために同じ 3 文字の頭字語を誤って使用し始めるという点以外は、私には本当にそうではありません。 Microsoft の IIS (インターネット インフォメーション サーバー) グループ内の誰かが、AIE という名前の新しい API ("高度な ISAPI 拡張機能" - ISAPI はインターネット サーバー API を表します) という名前を付け、MTS (Microsoft トランザクション サーバー) グループの誰かが別の AIE である "Atomic Interface Exchange" を考え出します。 また、ある日、マーケティング担当者または技術ライターが、"AIE" を参照し、データベースとファイル システムの違いを知らない IIS チームから技術論文を受け取り、それが "高度な Internet Explorer" の略だと推測すると確信しています。

仕事の他の場所でも頭字語の混乱を見ました。 シリアル ポートと並列ポートWindows NT、そのテキストで "COM ポート" という用語を使用した、最近のマガジン記事です。 コピー エディターが最後のパスで通過し、記事が公開された後、語句は "COM (コンポーネント オブジェクト モデル) ポート" になります。

通常どおり、興味深いと思う友人にニュースレターを渡してください。

ありがとうございます。

-Mark

システム内部の新機能

PORTMON V3.0

Portmon は、3.0 リリースで主な方法で強化されています。 Portmon は、95/98/NT/2K のWindowsおよび並列ポート監視アプリケーションです。 バージョン 3.0 では、次の機能が導入されています。

  • 高度なフィルター処理と出力の強調表示機能
  • リモート システムでシリアルポートと並列ポートのアクティビティを監視する機能
  • ファイルへのログ記録と印刷のサポート
  • クリップボードの統合
  • ログに記録する読み取り/書き込みデータの量を指定できる設定

Portmon v3.0 のダウンロード () http://www.sysinternals.com/portmon.htm.

FROB V1.5

Windows NT 4.0 Server では、NT スレッド スケジューラがスレッドに与える量子 (ターン) の長さを制御する機能を管理者に提供しません。 Windows 4.0 ワークステーションでは、コントロール パネル の [パフォーマンス] タブに、前景スレッドの量子ブーストを指定できるスライダーがあります (スライダーはサーバーにも存在しますが、何も行いません)。 量子を短くすると、通常、ユーザー入力に対する応答性が高いアプリケーションが得られますが、長い量子は非対話型サーバー アプリケーションの実行専用のシステムに適切です。

Systems Internals の Frob プログラムを使用すると、ワークステーションとサーバーの両方で量子の長さを細かく制御できます。これにより、システムで実行するワークロードに対して量子を調整できます。 ただし、Frob は NT カーネルの内部設定を変更します。この設定は、新しい各 Service Pack で動作するために更新する必要があります。 Frob v1.5 が使用可能にされ、Service Pack 5 との互換性が提供されます。

Frob v1.5 は でダウンロードできます。 http://www.sysinternals.com/ntfrob.htm.

LISTDLLS V2.1

ListDLLs は、プロセスが読み込んだ DLL に関する詳細なバージョン情報を示すコマンド ライン ユーティリティです。 ListDLLs は、読み込まれた DLL のファイル パスに対応するディスク上のファイルからバージョン情報を抽出し、文書化されていないインターフェイスを使用してパス名を取得します。 アプリケーションが既に読み込まれた後にディスク上の DLL ファイルが更新される場合があります。その場合、ListDL は正しくないバージョン情報を表示します。

ListDLLs v2.1 は、ディスク上のバージョンと読み込まれたバージョンの DLL の間に違いがある場合に認識し、その出力の違いをフラグ付けします。 不一致の ListDL がある場合、ディスク上のファイルと読み込まれたファイルのリンク時間が出力されます。 実行可能ファイルと DLL ファイルのリンク時間は、NT がパッケージ化に使用するポータブル実行可能 (PE) ファイル形式のヘッダーに含まれています。

ListDLLs v2.1 のダウンロード () http://www.sysinternals.com/listdlls.htm.

新しいBOOT.INIオプション

Win2K Beta 3 では、3 つの新しいBOOT.INIが導入されています。 3 つはすべて Intel Physical Address Extensions (PAE) に関連しています。Intel は、x86 システムが最大 64 GB の物理メモリに対処するために Pentium Pro で導入されたテクノロジです。 従来、x86 システムは 4 GB の物理メモリしかアドレス指定できますが、PAE と 450NX チップセットでは、このバリアは破損しています。 Win2K は、PAE を利用する最初の Microsoft オペレーティング システムです (Sun Solaris 7 と SCO UnixWare 7 では既に PAE がサポートされています)。 実際には、サポートが組み込みの ntkrnlpa.exe という名前の Win2K カーネルの特別なビルドがあります。 Win2K ブート ローダーである NTLDR は、システムが 4 GB を超えるメモリに対応し、その量が存在するかどうかに基づいて、標準カーネル (ntoskrnl.exe) または PAE 対応のカーネルを読み込みます。

3 つの新しい BOOT.INI スイッチはすべて、大きなメモリ システム (4 GB を超えるシステム) で動作するように設計されたデバイス ドライバーのデバッグを目的としています。 1 つ目の /PAE は、コンピューターに 4 GB を超えるメモリが存在しない場合でも、カーネルの PAE バージョンを NTLDR で読み込む必要があります。 2 つ目の /NOPAE は、NTLDR に標準カーネルの読み込みを強制的に行います。 最後に、/NOLOWMEM スイッチには、Win2K カーネルが 4 GB を超える物理メモリのみを使用します。 これにより、Win2K で使用される物理アドレスはすべて、それらを表す 32 ビットを超える必要が生じ、大きな物理アドレスのデバイス ドライバー処理が実行されます。

使用可能なスイッチの最も完全なBOOT.INIを見つける http://www.sysinternals.com/bootini.htm.

PSLIST V1.0

ほとんどの種類のUNIX、プロセス CPU とメモリの統計情報を一覧表示するために管理者が使用する "ps" というコマンド ライン ツールが含まれます。 NT には同等の GUI ベースのツールタスク マネージャーがありますが、NT にはコマンド ライン バージョンはありません。 Windows NT Resource Kit には、pstat と pumon という 2 つのコマンド ライン 'ps' に似たツールが含まれています。 PsList には、pstat と pumon で使用できる情報の組み合わせが表示されますが、どちらの Resource Kit ツールにも備えられません。PsList を使用してリモート システムのプロセス情報を照会できます。

PsList では、プロセス CPU、メモリ、またはスレッドの統計情報を表示できるフラグと、クエリを実行する別の NT コンピューターを指定できるスイッチを使用します。 PsList は、NT の組み込みのパフォーマンス カウンターを使用して表示される情報を取得し、NT 3.51、4.0、Win2K で動作します。

PsList のダウンロード () http://www.sysinternals.com/pslist.htm.

8 月の "NT INTERNALS"

Windows NT Magazine の 8 月号の "NT Internals" 列は、"Inside Win2K Reliability Enhancements, Part 1" です。 この 3 部構成のシリーズの最初の記事では、管理者がシステムを起動不能にした後にシステムを起動するのを支援することを目的とした Win2K 機能について説明します。 これには、"セーフ モード" の起動と回復コンソールが含まれます。

8 月の初め現在、Windows NT Magazine のオンライン バージョンの記事にはサブスクライバーだけがアクセスできます。また、記事は新しい問題ごとにオンラインで投稿されます。 サブスクライブしていない場合は、 のサブスクリプション リンクを参照して http://www.sysinternals.com/publ.htm 、Systems Internals サブスクリプション割引を取得してください。

NOT-SO-NEW STUFF

まだフレンドを 1 人または 2 人恐れていない場合は、「Systems Internals Bluescreen Screen Saver(システム内部のブルースクリーン スクリーン セーバー)」を確認してください。 バージョン 2.0 では、Win2K システムで実行すると、ブルー スクリーン オブ デス (BSOD) の Win2K バージョンと Win2K スタートアップ シーケンスが表示されます。 Bluescreen Screen Saver が最近、Ziff-Davis のソフトウェア ライブラリから最高評価の 5 つ星を獲得したと言えます。

で Bluescreen Screen Saver v2.0 をダウンロードする http://www.sysinternals.com/bluescrn.htm.

INTERNALS NEWS

修正 RE: システム ファイル保護

前回のニュースレターでは、Win2K のシステム ファイル保護 (SFP) を使用すると、Service Pack (SPs) やホットフィックスのようなアプリケーションで SfcTerminateWatcherThread という名前の関数 SFP エクスポートを呼び出すことによってシステム ファイルを更新できると説明しました。 SFP ではその関数がエクスポートされます。一方、システム ファイルを更新するときに、SP とホットフィックスでは 関数は使用しません。 代わりに、既存のシステム ファイルを Microsoft によってデジタル署名されたファイルに置き換えるので、システム ファイルを更新できます。 SFP は更新プログラムを検出しますが、SFP は新しいファイルがデジタル署名済みであるのを確認します。 SFP カバレッジに関するもう 1 つの修正点は、Win2K Beta 3 の後、Microsoft が SFP の名前をファイル保護 (WFP) Windows変更した点です。

Windows NT Magazine の 9 月の発行を必ず確認してください。ここで、NT Internals 列 "Inside Win2K Reliability Enhancements, Part 2" (Win2K 信頼性の強化の内部、パート 2)、WFP と Microsoft デジタル ファイルの署名について詳しく説明しています。

WIN2K RC1 DDK リリース

Microsoft の Device Driver Development Kit (DDK) の Win2K RC1 リリースを今すぐダウンロードできます http://www.microsoft.com/ddk/ddk2kRC1.htm. キットを無料でダウンロードするか、オンラインでドキュメントを参照できます。

THE WIN2K AWE API

このニュースレターの概要で AWE API について既に説明し、Microsoft の Web ページを参照しました。詳細については、以下をご覧ください。 http://www.microsoft.com/hwdev/NTDRIVERS/AWE.htm. 4 GB を超える物理メモリを持つシステムでは、Win2K の PAE 対応カーネル (ntkrnlpa.exe) は、アプリケーションを変更する必要がない、すべてのコンピューターの物理メモリを利用できます。 Win2K Advanced Server は最大 8 GB の物理メモリを使用し、Win2K Datacenter Server は最大 64 GB の物理メモリを使用します。

大規模なメモリ システム上の各アプリケーションは、最大で 2 GB の仮想メモリを使用できます (/3 GB BOOT.INI スイッチが指定されている場合は 3 GB)、実行中のすべてのアプリケーションに割り当てられた物理メモリの合計は物理メモリの量と等しくなります。 さらに、Win2K では、ファイル システム キャッシュには最大 960 MB の仮想メモリが割り当てられますが、キャッシュされたファイル データの量は、キャッシュに割り当てられた物理メモリの量が 960 MB を超える可能性があります。

AWE API を使用すると、個々のアプリケーションで物理メモリを直接制御できます。また、仮想アドレス空間サイズによって暗黙的に示される 2 GB または 3 GB を超える制限を超えています。 AWE API の背後にある基本的な考え方は、アプリケーションが仮想アドレス空間の一部を物理メモリへの "ウィンドウ" として指定するという考え方です。 次に、物理メモリのチャンクが割り当てされます。 アプリケーションが割り当て可能な物理メモリの量の上限は、基本的に、システム上の物理メモリの量から、AWE API を使用してカーネル、デバイス ドライバー、その他のアプリケーションによって既に割り当てられている非ページ メモリを差し引いたものです。 アプリケーションは、割り当てられた物理メモリの一部にアクセスする必要がある場合、メモリを仮想アドレス ウィンドウにマップします。 したがって、アプリケーションが特定のマッピングでアクセスできる物理メモリの量は、予約したウィンドウのサイズによって制限されます。 最後に、物理メモリを使用してアプリケーションが完了すると、メモリが解放され、作成した仮想アドレス ウィンドウが閉じ (割り当て解放) されます。

これらのアクションに対応する API は、次のkernel32.dllによってエクスポートされます。

  • アプリケーションが仮想アドレス ウィンドウを作成するために、MEM_PHYSICALフラグMEM_RESERVEして VirtualAlloc を呼び出す
  • AllocateUserPhysicalPages は、アプリケーションに物理メモリを割り当てる
  • アプリケーションは MapUserPhysicalPages を使用して、物理メモリの一部をウィンドウにマップします
  • FreeUserPhysicalPages は、アプリケーションが割り当てられた物理メモリを解放します

アプリケーションが複数の GB のメモリを直接操作する機能は、データベース サーバー、電子メール サーバー、Web サーバー、財務分析、科学アプリケーションなどのメモリ集中型プログラムに大きな影響を及にします。

4 GB を超える物理メモリを使用する機能は、特定のバージョンの Win2K でのみ許可されます。AWE API は、すべてのバージョンに存在します。 つまり、たとえば、4 GB のメモリを備える Win2K Professional システムでは、AWE API では、メモリを集中的に使用するアプリケーションで物理メモリ内の 2 GB または 3 GB を超えるデータを管理できます。

AWE API には、ユーザー モード API のベースとなるkernel32.dll同等のカーネル モード インターフェイスがあります。 ドライバーは、AllocateUserPhysicalPages と同等のカーネル モードである MmAllocatePagesForMdl を使用して物理メモリを割り当てできます。 この関数のプロトタイプは Win2K DDK ntddk.h ファイルに含まれるが、文書化されていない。 プロトタイプは次の場所です。

NTKERNELAPI
PMDL
MmAllocatePagesForMdl (
    IN PHYSICAL_ADDRESS LowAddress,
    IN PHYSICAL_ADDRESS HighAddress,
    IN PHYSICAL_ADDRESS SkipBytes,
    IN ULONG TotalBytes
    );

LowAddress は割り当てる必要がある最も低い許容物理アドレスで、HighAddress は最高です。 SkipBytes は、カーネルが物理メモリの割り当てを開始するアドレスの上と下に空き領域を保持する必要があるバイト LowAddress 数です。 TotalBytes は、ドライバーが割り当てるバイト数です。 関数の戻り値は MDL で、0 以外の場合はカーネルがドライバーに与える物理メモリを表します。 メモリの一部にアクセスするには、ドライバーは、物理メモリの適切な部分を記述する、返された MDL からサブ MDL を作成する必要があります。 ドライバーがサブ MDL で記述された物理メモリにアクセスする場合は、 を使用してサブ MDL をマップする必要があります MmGetSystemAddressForMdlSafe

ドライバーは、 と同等のカーネル モードを使用して、 で割り当てられた物理 MmFreePagesFromMdlFreeUserPhysicalPages メモリを解放します MmAllocatePagesForMdl 。 この関数は、ntddk.h でもプロトタイプが作成されています。

NTKERNELAPI
VOID
MmFreePagesFromMdl (
    IN PMDL MemoryDescriptorList
    );

ドライバーは、ExFreePool の呼び出しで によって返される MDL の割り当て解除を担当します。MDL は解放されないので MmAllocatePagesForMdlMmFreePagesFromMdl 注意してください。

WINDEV '99 WEST

1999 年の西海岸エディションの Premier カンファレンスでは、Windowsが近づいていっています。 WinDev '99 West は 9 月 13 日から 18 日までカリフォルニア州のタイザー・リボノットで行います。 Jeff Richter、Jeff Prosise、Don Box など、Windows開発における多数のビッグ ネームが話されています。 デバイス ドライバーのトラックで Jamie Hanrahan と Brian Catlin と一緒にいます。プレゼンテーションには、NT 内部に関する 1 日のチュートリアルと、Windows NT/2K ファイル システム ドライバーの記述に関するチュートリアルと、高度なデバイス ドライバー開発の問題に関するチュートリアルが含まれます。 に来て、こんにちは。

WinDev West Web ページ () にアクセスします。 http://www.butrain.bu.edu/windev/.

予定されている情報

NT 4.0 SP4 DISKEDIT

Windows NT 4.0 Service Pack 4 には、多くのユーザーが気付かない可能性がある、CD 上の気に入ったユーティリティが含まれます: DiskEdit。 また、ツールがハード ディスクにインストールされるのではなく、ドキュメントも付属していないのも疑問ではありません。 これは、誤って CD に出荷された Microsoft ファイル システム開発者によって内部的に使用されるツールであるのはほぼ確実です。 DiskEdit は、Windows NT 用の Noedit Utilities Disk Edit-type ツールを使用しなくてすんだ、または NTFS と FAT のディスク上のデータ構造を探索したいだけの人のための貴重なアイテムです。 次回は、DiskEdit の使い方について説明します。


システム内部のニュースレターをお読みありがとうございます。

公開日: 1999 年 8 月 5 日午後 7:13

[ニュースレター アーカイブ ^][ ボリューム 1, Number 3][Volume 1, Number 5 ]

[ニュースレター アーカイブ ^][ ボリューム 1, Number 3][Volume 1, Number 5 ]

システム内部のニュースレター ボリューム 1、番号 4

http://www.sysinternals.com
Copyright (C) 1999 Mark Russinovich