mmap

    1

    1答えて

    float32値を含む非常に大きなファイルをメモリにマップするために、mmapを使用するGoプログラムを作成しようとしています。これは、次のエラーメッセージで失敗し package main import ( "fmt" "os" "syscall" "unsafe" ) func main() { fileName := "test.da

    1

    1答えて

    DBストレージエンジンを調べると、ほとんどの場合mmapを使い続けるようです。しかし、キャッシュ層に書き込んだり、読み書きを使ってバイナリをディスクに書き込んだりするのは理にかなっていますか? 私が理解しようとしているのは、mmapとunmmapとreadとwriteの違いは何ですか?どちらを使うのか?

    3

    1答えて

    デバイスラッピングライブラリの有効なユニットテストを行うために、Cでメモリマップデバイスを擬似したい(Linuxの場合)。 ここで、私はmmapというファイル記述子を原則としてそのデバイスのモックを表すユーザー空間に入れることができます。 AFAICT、私の質問はこれに帰着します:mmapが動作するファイルディスクリプタをユーザー空間で作成できますか?読み書きは適切なコールバックによって処理されま

    3

    1答えて

    私は非常に大きなファイル150GBを持っています。私は読み取り専用mmapを使用し、ファイルにバイナリ検索を実行します。 現在、バイナリ検索はかなり遅いです。 私はいくつかの値をチェック(ディスクシーク)すると、この値の "周り"の値はすべて、同じディスクブロックに属しているため、既にメモリに入っています。ファイルのどこかでジャンプするのではなく、 "近く"の値をチェックしてからジャンプすることが

    0

    2答えて

    C++コード: #include <string> #include <fcntl.h> #include <sys/mman.h> #include <unistd.h> #include <sys/time.h> using namespace std; #define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) int

    1

    1答えて

    char *p = (char*) mmap(...); ....; /* check if p is not -1 */ a = *p; 、ページフォールトが発生します。カーネル内のフォルトハンドラは、物理メモリにページを割り当て、ファイルからそのページに4Kバイトをコピーし、ページエントリを変更します。今回は、*pの命令が再度実行されます。 しかし、どのように障害ハンドラーは、ページに

    0

    1答えて

    http://man7.org/linux/man-pages/man2/mmap.2.htmlは MAP_ANONYMOUS The mapping is not backed by any file; its contents are initialized to zero. は、なぜそれがゼロに内容を初期化する必要があると言いますか?私はこれがかなり高価か

    1

    1答えて

    私はPCI BAR0からFPGAメモリにアクセスする必要があるプロジェクトに取り組んでいますユーザー空間。私は古いカーネルで行うために使用何 は/SYS /バス/ PCI /デバイス/ my_device/に位置し、その後公開さのmmap()機能を使用しているresource0という名前のファイル開いていますユーザ空間へのFPGAメモリ。 残念ながら、カーネルバージョン4.7(アーキテクチャARM

    2

    1答えて

    私は物理アドレス、具体的には0x000000368d76c0が与えられました。私はmmap私のプログラムにそれをしようとしている。私が使用しているコードは void *mmap64; off_t offset = 0x000000368d76c0; int memFd = open("/dev/mem", O_RDWR); if (-1 == memFd) perror("Erro

    0

    1答えて

    C++でnpyファイル(numpys mmap形式)を直接読み込もうとしていますが、いくつかの問題がありました。 ファイルはnumpyを使用して書かれており、numpyを使用して簡単に読み戻すことができます(破損していないなど)。 私の最初の試みでは、cnpyパッケージ(https://github.com/rogersce/cnpy)を直接使用していましたが、これはファイルヘッダーのサイズに関す