Chinaunix

标题: 内核模块与用户空间内存共享 [打印本页]

作者: helicn    时间: 2006-04-18 17:04
标题: 内核模块与用户空间内存共享
我有这样的需求: 在内核模块中需要与用户空间32M的共享内存,不知道怎么做,哪位大侠指点一下
作者: snow_insky    时间: 2006-04-19 12:45
老兄,论坛上这么多例子,你都不看的阿?

mmap就是用来做这件事情的。
作者: bravelc422    时间: 2006-04-20 11:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: helicn    时间: 2006-04-20 14:04
mmap是用户空间的操作,内核空间怎么办,我在内核中使用kmalloc分配的空间很小,达不到要求
作者: 思一克    时间: 2006-04-20 15:26
kernel中可以调用access_process_vm来读写用户空间
作者: obrire    时间: 2006-04-20 18:17
标题: 回复 1楼 helicn 的帖子
看看X11的实现就明白了.

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

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

至于更多的, 我也不想讲了,累呀......
作者: zu_xf    时间: 2006-04-21 08:51
标题: 一点看法
1.设备和用户之间共享内存需要驱动实现mmap方法,可以参考linux设备驱动(第二版)mmap和DMA一章;
    2.如果需要的是32M连续内存,那么kmalloc和get_free_page恐怕都很难帮你,需要在引导时分配,还是参考linux设备驱动(第二版)获取内存一章。
   
     讲得很详细,还有例子。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2