首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux:用于非常规文件的mmap()

Linux:用于非常规文件的mmap()
EN

Stack Overflow用户
提问于 2014-01-21 18:41:09
回答 1查看 257关注 0票数 2

我知道mmap()允许应用程序将文件映射到内存中,因此内存地址和文件中的单词之间存在一对一的对应关系。

但我的问题是,如果文件是由设备驱动程序创建的非常规文件怎么办?据我所知,一些非常规文件是mmap可映射的,有些则不是。从编程的角度来看,这意味着什么?如果我希望我的非常规文件是mmap-able,我应该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2014-01-21 19:08:54

我在Linux-kernel-module上工作过,在其中我实现了mmap函数指针(结构file_operations)。此模块将在/dev/目录中创建一个设备条目。现在,我的用户空间应用程序将使用" open“打开此条目,并进行mmap系统调用。最终,在我嵌入的Linux-Kernel-module中,mmap函数将被调用,并进行已实现的处理,然后返回到用户空间。

这只是一个示例,用于表示用户空间向操作系统(内核)请求的服务。当用户想要访问硬件或想要从内核请求服务(如将物理内存映射到用户虚拟地址空间)时,它可以使用由驱动程序在/dev/或/sys/或/proc/等中创建的条目来实现。这些文件可以称为内核的“虚拟接口”。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21255727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档