タグ

irp stuck sizeに関するfujimockerのブックマーク (6)

  • I/O 要求パケット (Windows Drivers)

    デバイス ドライバーに送信される要求のほとんどは、I/O 要求パケット (IRP) にパッケージ化されます。オペレーティング システムのコンポーネントまたはドライバーが、IoCallDriver を呼び出すことにより、ドライバーに IRP を送信します。IoCallDriver には、DEVICE_OBJECT へのポインターと IRP へのポインターを指定する 2 つのパラメーターがあります。DEVICE_OBJECT には、関連付けられている DRIVER_OBJECT に対するポインターがあります。コンポーネントから IoCallDriver が呼び出されると、コンポーネントが IRP をデバイス オブジェクトに送信する、あるいは IRP をデバイス オブジェクトに関連付けられたドライバーに送信する、などの表現を使うことがあります。また、IRP を送信する、という言い方の代わりに I

    I/O 要求パケット (Windows Drivers)
  • リソース不足について - 第 1 回 - Ask CORE - Site Home - TechNet Blogs

    If you were looking for MSDN or TechNet blogs, please know that MSDN and TechNet blog sites have been retired, and blog content has been migrated and archived here. How to use this site Archived blogs are grouped alphabetically by the initial letter of the blog name. Select the initial letter from the TOC to see the full list of the blogs. You can also type the name of the blog or the title of the

    リソース不足について - 第 1 回 - Ask CORE - Site Home - TechNet Blogs
  • Windows Server 2008 R2 SP1 Beta版:リソースの無駄を省く新機能Dynamic Memory利用時のNonpagedPoolの動作 ~移行・導入・運用の豆情報~ : 富士通

    Windows Server 2008 R2 SP1 Beta版 検証の豆情報~ はじめに これまでHyper-Vでは、仮想マシンへメモリ容量を固定的に割り当てていたため、使用していないメモリは仮想マシン上で無駄なリソースとなっていました。これに対しWindows Server 2008 R2 SP1では、Dynamic MemoryというHyper-Vのメモリ管理機能によって、無駄なリソースが発生しないように、仮想マシン間で動的かつ安全に割り当てるメモリ容量を調整できるようになります。 富士通はベータ版の段階から、Dynamic Memoryによって動的にメモリ容量が調整された際に目に見えないボトルネックになる部分がないか検証を重ねています。そのなかで富士通はNonpagedPoolに関連して、システムが不安定になる問題等をいろいろ経験したため、Dynamic Memoryによる影響が

  • Windows: ページ プールと非ページ プール

    以前の「Windows の限界に挑む」の投稿では、物理メモリと仮想メモリという、2 つの主要な基システム リソースについて説明しました。今回は、これらを基盤とする 2 つの基的なカーネル リソースであるページ プールと非ページ プールについて説明します。ページ プールと非ページ プールは、最大プロセス数、同期オブジェクト、ハンドルなど、他の多くのシステム リソースの制限に直接関わっています。 ページ プールと非ページ プールには、オペレーティング システムとデバイス ドライバーがデータ構造の格納に使用するメモリ リソースとしての役割があります。プール マネージャーはカーネル モードで実行され、システムの仮想アドレス空間 (「Windows の限界に挑む」の仮想メモリに関する投稿で説明) の領域を使用して、メモリの割り当てを行います。カーネルのプール マネージャーは、ユーザー モード プ

    Windows: ページ プールと非ページ プール
  • レポート12:メモリ管理(PagedPoolとNonPagedPool)

    56メモリ管理(PagedPoolとNonPagedPool) ドライバのメモリ管理は重要かつ複雑で、システムクラッシュの原因になるので、メモリを扱う際には十分に注意する必要があります。Windowsのメモリは仮想メモリ構造です。OSのデータにアクセスするために32ビットポインタを使用しているため、2の32乗、つまり4GBのアドレス空間が必要です。メモリの実際の大きさは256MBや512MBですが、仮想メモリの概念により4GBのメモリがあるかのように処理を行うことが出来ます。デバイスドライバからのメモリへのアクセスは全て仮想アドレスを使います。図1はWindowsの仮想アドレスの構造を表しています。 図1 メモリの使い方によってプライベート空間と共有空間の2種類のメモリがあります。ユーザーモードのアプリケーションはプライベート空間を使用します。カーネルモードのプロセスは共有空間を利用します

    レポート12:メモリ管理(PagedPoolとNonPagedPool)
  • レポート25:IRPの構造

    IRPの構造 IRP(I/O Request Packet)はアプリケーションからI/O要求が発生した際に、I/Oマネージャが作成する構造体です。IRPは適当なドライバのディスパッチルーチンを呼び出す時に、引数として渡されます。IRP構造体は図1のようにヘッダとスタックロケーションの二つの部分が存在します。スタックロケーションの数は、I/O要求に関わるドライバの階層と関係しています。例えば、上位、中間、物理の3つのドライバを介して一つのI/O要求を処理する場合、3つのスタックロケーションが存在します。 図1 IRP構造体 IRPはオブジェクトではなく、データのパケットで、その構造体は非常に複雑な形をしています。IRPは非ページプールメモリに作成されます。IRPのヘッダの値、大きさはドライバの階層に関係なく固定しています。次にIRPの簡略した構造体と、よく使うフィールドについて示します。 t

  • 1