Questions tagged «mmap»

1
了解MMAP
我在这里浏览有关MMAP的文档,并尝试使用此文档来实现 我对它的实施有一些疑问。 MMAP是提供文件的映射并返回物理内存中该位置的指针还是返回映射表的地址?是否也为该文件分配和锁定空间? 将文件存储在内存中的那个位置后,它会一直保持在那里直到munmap被调用吗? 该文件是否甚至移至内存中,还是只是用作重定向的映射表,而该文件实际上位于虚拟内存-(disk)中? 假设将其移到内存中,如果其他进程具有地址,其他进程可以访问该空间以读取数据吗?

3
内核mmap操作的内存大小
我对Linux mmap将文件放到主内存中的方式(在我的上下文中为执行,但我想mmap进程在写入和读取方面是相同的)及其使用的大小感兴趣。 因此,我知道Linux使用的页面调度通常为4kB页面大小(我在内核中可以找到这个大小吗?)。但这对分配的内存到底意味着什么:假设您的二进制文件大小只有几千个字节,让我们说5812B,然后执行它。内核中会发生什么:它是否分配2 * 4kB,然后将5812B复制到该空间中,从而在第二页中浪费了大于3KB的主内存? 如果有人知道内核资源中定义了pagesize的文件,那就太好了。 我想第二个问题也非常简单:我以5812B为文件大小。大小是从inode取得的,对吗?
9 kernel  memory  inode  mmap 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.