mmap

    1热度

    1回答

    我试图用ACCESS_COPY模式映射文件。然后我写入一个char和flush,但是flush()返回失败,并且更改不会写回到文件中。任何想法为什么?谢谢。 Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" o

    0热度

    1回答

    要验证程序,我需要生成一个确定性地址跟踪。所以我使用mmap在虚拟内存中的固定位置分配数组。 这是我有: #define PG_SIZE 4096 #define PG_START(_v) ((_v) & ~(unsigned long)(PG_SIZE-1)) // has to be aligned to page. otherwise it will be done for you.

    3热度

    1回答

    我正在玩弄mmap和/ proc/mtrr,努力做一些物理内存分析的深入分析。以下是我想要做的事情的基本概念以及迄今为止我所做的工作的总结。我在Ubuntu内核版本3.5.0-54-通用。 我基本上是映射到特定的物理地址(使用来自/ proc/iomem的提示)并测量对这个物理地址范围的访问延迟。这是我迄今为止所做的: 在/ proc/mtrr中创建了一个条目,以使物理地址范围可以映射为无法映射。

    2热度

    1回答

    如果我在内存映射区域调用msync和MS_ASYNC,同步过程将被异步处理。 但是,如果我立即在该区域调用munmap,我可以假设msync将安全执行吗?或者我必须在munmap之前调用msync?

    -3热度

    2回答

    我正在尝试读取大文件并将此文件映射到内存,然后通过将不同的启动和停止地址传递给不同的进程来分配工作负载,然后计算所有进程文件中所有单词的出现。下面的代码检查它是否是一个文件,打开要读取的文件并获取文件的大小。我不确定如何使用这个mmap()函数。具体来说,mmap()作为参数。偏移量应该是多少?我从哪里得到这个值? 此外,如何使用fork()来创建子进程? stat(argv[1], &file

    2热度

    1回答

    对于一个项目,我必须做我必须使用: void *ptr = mmap(NULL, N, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, 0, 0); 其中N是要求从RAM的字节数操作系统。 执行此语句时,ptr指向什么?它是否指向进程之间共享内存的开始?另外,如果在这个内存空间中说我想存储1000 int指针,我是否需要有N = 1000 * siz

    3热度

    1回答

    当MMAP()荷兰国际集团的文本文件,就像这样 int fd = open("file.txt", O_RDWR); fstat(fd, &sb) char *text = mmap(0, sb.st_size, PROT_READ, MAP_PRIVATE, fd, 0); 文件内容被直接映射到存储器中,并text它将不包含一个NUL - 终止子与正常字符串函数在其上,以便操作不会安全。

    0热度

    1回答

    我试图在Ubuntu上运行下面的程序,但它崩溃与分段错误。 我想要做的就是调用MMAP两次: p1 = mmap(null, size: 16 * 4k, offset: 0); p2 = mmap(p1+(16*4K), 136 * 4k , offset: 16 * 4k); 基本上,试图创建一个镜像文件连续两个区域的两个连续的内存区域。 第二个mmap可能会失败,但我想知道它为什么会导

    0热度

    1回答

    我有这个结构时偏移: typedef struct ip_row { sem_t row_lock; char row_name[NAME_SIZE]; char row_address4[NAME_SIZE]; // IPv4 address name char row_address6[NAME_SIZE]; // IPv6 address name

    1热度

    1回答

    我试图使用mmap从文件中加载字典。 我会在简化的例子中解释我的问题。实际上,我有10个文件,必须以毫秒为单位加载(或者像加载一样)。 因此,让我们有一本字典 - 50 MB。我的程序应该在1秒内通过键找到一个值。在这本词典中搜索不是问题,它可以在1秒内完成。问题是当sb在文本字段中输入一个输入并按回车时,程序开始将字典加载到内存中,以便程序可以找到一个密钥。此加载可能需要几秒钟,但我必须在1秒内