2

我在用户空间的 /dev/shm (tmpfs) 下创建了一个文件,我将此文件映射到进程地址空间并推送内容。现在,如何在内核虚拟地址空间下再次映射该文件以访问用户空间进程写入的内容。当然我知道如何使用 filp_open() 和 vfs_read() 来读取它,但我真的很想使用类似于用户空间进程的 mmap() 的直接内存指针来访问内容。我想做一些类似于 mm/shmem.c 的事情,但是我不想在用户空间 VMA 和 /SYSVXXX 文件之间进行映射,而是想用内核虚拟地址 VMA 来做这件事。有人可以帮忙吗?

谢谢..

4

1 回答 1

0

只有实现的代码tmpfs知道其文件的内存在哪里。

您必须实现自己的 FS,或者使用一个允许您定义自己的mmap实现的 FS(如procfssysfs)。

于 2013-05-13T14:18:26.220 回答