mmap

    0熱度

    1回答

    我有一個非常緩慢的模擬系統,其中linux需要很多時間才能啓動。 我想在這個系統上開發一個設備驅動程序,但重新啓動它來添加一個修改後的.ko並不是一個選項。 我正在尋找的是一種無需重新啓動即可更新我的.ko文件的方法。我應該提到我沒有任何外部接口,除了DRAM,所以我使用的是ramfs 但是我可以暫停系統並向DRAM中注入任何內容。所以我想也許我可以.ko加載到規定的存儲區域和地圖,所以我可以從文

    0熱度

    1回答

    我發現的glibc在mmap.S已經mmap的,並且代碼如下: ... movl 20(%esp), %ebx cfi_rel_offset (ebx, 8) movl 24(%esp), %ecx movl 28(%esp), %edx movl 32(%esp), %esi cfi_rel_offset (esi, 4) movl 36(%esp), %edi cfi_rel_

    3熱度

    2回答

    我正在使用共享內存(shm_open/mmap)來跟蹤某些狀態。在我的共享內存我有結構: typedef struct fim_t { uint64_t num_procs; uint64_t num_numa; int64_t *numa_nodes[MAX_FIM_NUMA]; int64_t procs[MAX_FIM_PROC]; }fim_t;

    0熱度

    1回答

    我試圖在文件上使用mmap存儲圖形,所以我讀取和寫入更快,但我無法讀取字段使用malloc創建的結構字段(和我不能讓他們的陣列) 問題是我無法從文件中讀取回申請map[i].nodes->vertexKey (我想是因爲是因爲它使用了malloc創建) 我的代碼: #include <stdlib.h> #include <stdio.h> #include <stdint.h> #incl

    1熱度

    1回答

    我想通過fork派出一些任務,並收集有關數組中這些任務結果的一些信息。 我的想法是使用mmap在兩者之間共享數據結構,並讓子進程用活動的結果更新結構數組,但我遇到了一些問題。 #include <time.h> #include <unistd.h> #include <string.h> #include <stdio.h> #include <sys/mman.h> #include

    3熱度

    1回答

    如果映射的文件數據完全駐留在物理內存中,那麼並行讀取數據會帶來什麼好處,例如通過定義開始/結束字節的段數以及每段都有單獨的線程工作?目標是允許頻繁快速讀取大二進制文件中的數據。 我一直在做一些測試(Java NIO),其中每個線程(有4個線程測試)訪問MMAP的參考,但因爲每個線程改變mmaped文件內部指針讀取下一個字節集,這並不似乎安全。我正在考慮爲每個線程分割一個文件爲4個mmaped塊?

    3熱度

    3回答

    這裏是我的問題:我要地圖文件「FILENAME.TXT」,基本上由兩對每行字符串的: "string1 string2 string3 string4 string5 string6..." ,然後我想使用的strtok來分隔不同的字符串。 所以我的文件映射是這樣的: // open file if ((fdsrc = open("filename.txt", O_RDONLY)) <

    0熱度

    1回答

    我只是亂搞alsa庫,並不能真正弄清楚如何使用直接寫入進行回放。我正在使用訪問類型mmap交錯。 我正在嘗試寫一個方波。 我創建了一個用於保存方波的短路緩衝區。我用snd_pcm_writei測試過它,它工作。 我然後調用snd_pcm_begin並使用從區域給出的指針寫入設備: while(1){ int msg; frames_available = snd_pcm_avail_upd

    1熱度

    1回答

    我試圖讓一個日誌文件類,這個過程中我想遵循的是: 打開文件(或創建) 地圖文件上的內存 關閉德文件 寫入內存 該文件的大小爲1024KB(SIZE_KB常量)。 到目前爲止,這是我在做什麼: 林創建具有讀寫權限的文件的所有者(S_IRUSR | S_IWUSR)和其餘的讀權限(S_IRGRP | S_IROTH)。 // Open the file. If the file doesnt exis

    0熱度

    3回答

    我無法理解文件在內存映射I/O中的管理方式。正常如果我們使用open或fopen打開文件,它將分別返回fd或 文件指針。在這之後打開文件駐留處理。它在內存中(在硬盤中的文件的副本)還是不在?如果 不在通過隨後的讀取或寫入系統調用獲取數據的內存中,或者每次調用讀取或寫入時從硬盤讀取數據。 否則,該文件的副本將存儲在內存中,並且進程將訪問該文件以進一步操作,一旦該進程完成,該文件將被複制到硬盤。在上述