免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2201 | 回复: 6
打印 上一主题 下一主题

内核模块与用户空间内存共享 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-18 17:04 |只看该作者 |倒序浏览
我有这样的需求: 在内核模块中需要与用户空间32M的共享内存,不知道怎么做,哪位大侠指点一下

论坛徽章:
0
2 [报告]
发表于 2006-04-19 12:45 |只看该作者
老兄,论坛上这么多例子,你都不看的阿?

mmap就是用来做这件事情的。

论坛徽章:
0
3 [报告]
发表于 2006-04-20 11:26 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2006-04-20 14:04 |只看该作者
mmap是用户空间的操作,内核空间怎么办,我在内核中使用kmalloc分配的空间很小,达不到要求

论坛徽章:
0
5 [报告]
发表于 2006-04-20 15:26 |只看该作者
kernel中可以调用access_process_vm来读写用户空间

论坛徽章:
0
6 [报告]
发表于 2006-04-20 18:17 |只看该作者

回复 1楼 helicn 的帖子

看看X11的实现就明白了.

X吃进的比较多哟, 一看就全明白了, 不过一些软件在对MM管理上,都有
自己的方式,如X11, MPlayer/ffmpeg等.

好像有个台湾的朋友,还配有中文解释.你go一下吧.

至于更多的, 我也不想讲了,累呀......

论坛徽章:
0
7 [报告]
发表于 2006-04-21 08:51 |只看该作者

一点看法

1.设备和用户之间共享内存需要驱动实现mmap方法,可以参考linux设备驱动(第二版)mmap和DMA一章;
    2.如果需要的是32M连续内存,那么kmalloc和get_free_page恐怕都很难帮你,需要在引导时分配,还是参考linux设备驱动(第二版)获取内存一章。
   
     讲得很详细,还有例子。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP