mmap

    2

    1答えて

    問題を解決するためのいくつかの適切な例が見つかりません。私はユーザーとカーネル空間の間で4K(4096)バイトのデータを共有したい。私は、カーネルからメモリを割り当てて、それをユーザー空間でmmapしなければならないという多くのアイデアを見つけました。誰かがLinux 2.6.38でそれを行う方法の例を提供することができます。それを説明する良い文書はありますか? ありがとうございます。

    5

    1答えて

    私はのmmap()いくつかのPRIVATEとANONYMOUSページをしましたし、その後でそれらを拡張する場合はmremap ()、新しいスペースもゼロに初期化されますでしょうか? Linuxソースでmremap(mm/mremap.c)のコードを読もうとしましたが、現在持っていないドメイン固有の知識が必要です(vma _ ### stuff)。さえ確認それは... を見て適切な場所だ。しかし、私

    1

    1答えて

    をファイルディスクリプタを取得し、私はこの記事を見ました:system call to map memory to a file descriptor (inverse mmap)? 私はそれがそのインターフェイスでファイルディスクリプタが与えられることができるように望んでいる必要があり、ライブラリをしたいと思います私がmmapファイルを編集したメモリの領域から読み込むファイル記述子。そのメモリ領

    17

    3答えて

    mmapインターフェイスはreadline()しかサポートしていないようです。 オブジェクトを反復しようとすると、完全な行ではなく文字が得られます。 mmap'edファイルを1行ずつ読み込む「pythonic」方法は何ですか? import sys import mmap import os if (len(sys.argv) > 1): STAT_FILE=sys.argv[

    1

    1答えて

    共有メモリのキーがファイル名かiノードかどうかが疑問です。 私はYYYYMMDDHHMMSSという名前のファイルへの単なるハードリンクです.lastというファイルを、持っています。 ディレクトリには、次のようになります。 20110101143000 .last .lastがちょうどハードしばらく20110101143000. へのリンク、新しいファイルが作成されている 2011010114

    15

    1答えて

    私が取り組んでいるアプリケーションのメモリマップされたIOを調べるのに時間を費やしました。私はいくつかの非常に大きな(TBスケール)ファイルを持っており、読み書きのためにそれらからセグメントをメモリにマップして、OSレベルのキャッシュを最大限に活用したいと考えています。私が書いているソフトウェアは、Unix/LinuxとWindowsの下で動作する必要があります...パフォーマンスは重要です。 私

    2

    1答えて

    アサーションが失敗した次のプログラムにvalgrindの実行: #include <unistd.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdint.h> #include <stdio.h> #include <wchar.

    2

    1答えて

    mmapファイルの領域を変更してからmsync(MS_INVALIDATE)に変更して、私のメモリ内の変更が失われたり、変更が必要な場合はmsync(MS_SYNC)書き込んでください元のストレージに戻します。 msync manpageはMS_INVALIDATEで次の言葉: MS_INVALIDATEが指定された場合、MSYNC()以降の参照は、そのデータを得なければならないような永久記憶場所

    7

    2答えて

    私は、12個の物理コアと24個の論理コア、および192ギガビットのラムを意味するデュアル・キオン・チップを搭載したマシン上で動作するCアプリケーション(VStudio 2010、win7 64ビット)を用意しています。 編集:OSはwin7です(Windows 7,64ビットなど)。 アプリには24個のスレッドがあり(各スレッドには独自の論理コアがあります)、計算が行われ、大量のC構造の別の部分が

    0

    2答えて

    mmap(MAP_ANONYMOUSで呼び出されたとき、すなわちメモリを割り当てるとき)常に以前の呼び出しよりも高いメモリアドレスを返しますか?そうでない場合、それは常により高いアドレスを返すようにする方法はありますか?