关于linux下mmap的一点强调
来源:互联网 发布:十大网络神兽 编辑:程序博客网 时间:2024/05/17 21:45
mmap系统调用是的可以在用户空间直接访问设备内存,它是通过映射来完成的,但是要强调的是:
1.mmap系统调用是对文件进行操作的,那么文件自然有其对应的file_operation结构,而其中有一个 int (*mmap)(struct file *,struct vm_area_struct *),所以系统调用实际最后调用的这个函数,但是之前内核会做点什么,不然struct vm_area_struct * 参数哪来的。驱动mmap只需要做2件事:建立页表和添加vma->vm_ops函数。vma是用来描述一段虚拟内存空间的结构体,其中封装了一些操作函数模拟对象的类。
2.如果想对内存直接操作,其原理应该一样,不过是对/dev/mem设备文件操作罢了,而且它的file_operation是现成的。
3.系统调用mmap必须使用页对齐的地址,不然的话会提示段错误
4.驱动mmap不仅建立的页表,同时修改了其权限,使其对用户空间进程可见
- 关于linux下mmap的一点强调
- 关于mmap的一点疑问
- 很想重新强调一点关于soa的理解
- linux下mmap的映射。
- linux下mmap的使用
- 关于Linux下github的一点总结
- linux下mmap内存映射的使用
- linux下mmap()函数
- linux下mmap()函数
- linux下mmap详解
- 关于在linux下的硬盘优化的一点试验
- 请问一点关于linux下线程的问题
- 关于 mandriva linux 下安装成功drcom 的一点体会
- 关于更改虚拟机下linux分辨率的一点经验
- 关于Vmware下安装Linux系统的一点心得
- 转《 关于Linux下串口通信的一点心得 》
- (转载)关于Linux下串口通信的一点心得
- 关于Linux下串口通信的一点心得
- 读后感:软件开发中平衡的艺术
- Windows7下安装SQL2008启动不了
- CISA备考资料
- Hibernate中对generator元素的理解
- ISTQB FL初级认证系列01:ISTQB FL初级认证考试说明
- 关于linux下mmap的一点强调
- Hibernate ID 生成策略
- ASP.NET下CKEditor和CKFinder集成 配置
- 有关MAC、PHY和MII
- poj 1503 Integer Inquiry高精度
- 使用反射访问特性
- 气质的培养(哈佛管理世界)除了沉稳外很适合研发人员借鉴
- JSOI 2008-help
- Android布局之LinearLayout(线性布局)