ある本で次の文を見つけました。
ヒープ マネージャーは、ヒープ セグメント内のコミットされた領域を使い果たすたびに、より多くのメモリを明示的にコミットし、より多くの割り当てが要求されるにつれて、新しくコミットされた領域をブロックに分割します。
これは、ユーザーが使用する仮想メモリのセグメントにブロックが割り当てられ、メタデータがコミットされたと見なされなくなることを意味しますか?
これは、私が取った高度なWindowsデバッグブックからのものです。最後に向かって漠然としているので、何を意味するのかわかりませんが、基本的には次のとおりです。
ヒープ スペースを割り当てる場合、ヒープの内容は必ずしも事前に決定されているとは限らないため、割り当てられたスペースを適切に使用できます。たとえば、1 メガバイトのヒープ メモリを割り当て、そのスペースに512k またはデータ、つまり、割り当てられたヒープの半分をコミットし、さらに 512k を空けることを意味します。ヒープ割り当てを明示的に 1024k に設定しているため、そのメモリは引き続き OS に使用されていると表示されますが、次回同じスペースを使用するときは、前回使用した 512k より多かれ少なかれ使用できます。使用のために割り当てられます。特定の時点で使用する量がコミットであり、確保した量が割り当てです。
これはすべて非常に単純化されているため、次のようなソースを読むことをお勧めします。
メモリとその C++ での使用法を始めるための良い情報源として。
考えられる具体的または詳細なことがあれば (質問が少し不明確です)、お知らせください。できるだけ早くご連絡いたします。
いいえ。割り当てられたブロックは、コミットされたメモリの一部です。