2
大きなファイルの一部にランダムにアクセスしたい。私がファイルの別の部分が必要な場合、mmapで必要な部分を開いた後。最初のメモリマップ領域とmmapをもう一度閉じるか、または同時に2つのメモリマップ領域を開くことができますか?ファイルに対してmmapを2回呼び出す
RAMよりも大きい可能性があるため、すべてのファイルをマップしたくないので、自分のプログラムで複数のファイルを同時に開くことにします。
大きなファイルの一部にランダムにアクセスしたい。私がファイルの別の部分が必要な場合、mmapで必要な部分を開いた後。最初のメモリマップ領域とmmapをもう一度閉じるか、または同時に2つのメモリマップ領域を開くことができますか?ファイルに対してmmapを2回呼び出す
RAMよりも大きい可能性があるため、すべてのファイルをマップしたくないので、自分のプログラムで複数のファイルを同時に開くことにします。
MmappingはRAMを消費しません。使用可能なアドレススペースより大きい場合を除き、ファイル全体をマップできます。 64ビットコンピュータでは、そうは考えにくいです。 32ビットでは不可能ではありません。
いずれの場合でも、1つのファイルごとに必要な数のマッピングを作成できます。
20-30個のファイルを開くことができます。 32ビットシステムで同時に2つの4GBファイルを開くと、アドレス空間が不足しますか? – Berk
32ビットシステムでは、4GBファイルを1つでもマップすることはできません。だから私の2番目のパラグラフごとに、断片の多くの小さなマッピングを作ってください。 – bmargulies