mmap

    4

    3答えて

    私は同じファイルをメモリマッピングすることで、2つの異なるプロセスが通信できるようにしようとしています。しかし、私はこれにいくつか問題があります。私はこれがopen()呼び出しを使用し、ファイル記述子をmmapに渡す方法と関係があると感じています。 ここに私のコードがありますが、何か間違っていますか? オブジェクト1のコード: 16 FILE* temp = fopen(theSharedFil

    20

    3答えて

    私は現在、Apache/mod_fastcgiの下でAPCを有効にしてPHP/FastCGIのコピーをいくつか実行しています。プロセス間でキャッシュを共有できますか?すでに共有されているかどうかを確認するにはどうすればよいですか? (私はapc.mmap_file_maskのini設定が関与するかもしれないと思うが、私はそれを使用する方法がわからない。) (によって報告されたように、私はそのは、現

    3

    5答えて

    mmap()の最も重要な機能は、多くのプロセスでファイルの共有が共有されていることです。しかし、すべてのプロセスが独自のアドレス空間を持っていることはあまり知られていません。 質問は、メモリマップされたファイル(具体的にはそのデータ)が本当に保持されているか、そしてプロセスがこのメモリにアクセスする方法を教えてください。 私は*(pa + i)や他の高レベルのものではありませんが、プロセスの内部を

    1

    1答えて

    プロセス間の共有に保護フラグが影響しますか? PROT_READ | PROT_WRITEで保護されたメモリ領域がある場合は、書き込まれていない限り、それは完全に共有されていますか?それはmprotectingよりも簡単ですので、私は、それのすべてを再MPROTECT、私はそれをマッピングしてきた後にメモリ領域の小さな部分に小さな変更をしたいと思います int prot = PROT_READ|P

    2

    2答えて

    mmapを使用してuint32_tと書くと、ビッグエンディアン/リトルエンディアンの問題が発生しますか?特に、ビッグエンディアンマシンでデータmmapを書き込むと、リトルエンディアンマシンでそのデータを読み込もうとすると問題に遭遇しますか?

    1

    1答えて

    mmapを使用して匿名memを割り当てる場合、開始アドレスを0/nullに設定することが多いため、mmapは開始アドレスを単独で把握します。そして開始アドレスを得るためには、仮想メモリー空間全体を考慮して、memのチャックを割り振る穴を見つけることができます。私はこれがsyscpの代わりにユーザーcpuとして計算されると思います。仮想メモリが断片化している場合、開始アドレスを見つける時間はより多く