Linux下/dev/mem和/dev/kmem的区别

Linux下/dev/mem和/dev/kmem的区别:

/dev/mem: 物理内存的全镜像。可以用来访问物理内存。

/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。

作用:

前者用来访问物理IO设备,比如X用来访问显卡的物理内存,或嵌入式中访问GPIO。用法一般就是open,然后mmap,接着可以使用map之后的地址来访问物理内存。这其实就是实现用户空间驱动的一种方法。

后者一般可以用来查看kernel的变量,或者用作rootkit之类的。参考1和2描述了用来查看kernel变量这个问题。

后者可以读取自己的程序空间4G空间的值。

阅读更多
个人分类: linux字符设备文件
上一篇Linux系统调用列表
下一篇如何在Linux下实现设备的配置(上)
想对作者说点什么? 我来说一句

/dev/mem访问物理内存

2011年08月09日 428KB 下载

没有更多推荐了,返回首页

关闭
关闭