内存映射理解

mmap的优点与原理,网上较多,这里主要根据收集的资料自己总结的几点理解:

        1、理解上要区分用户空间、内核空间、硬盘三者间的联系

        2、传统IO:read/write->发送IO请求->从硬盘拷贝数据到内核->内核拷贝到用户内存:二次拷贝。

        3、一开始就建立好映射用户、内核、硬盘三者之间的映射关系

                1.映射的那部分数据不在内核空间时,触发缺页异常,将数据从硬盘拷贝到内核空间

                2.1次拷贝:不需要再从内核空间拷贝到用户空间,通过shared的方式进行内核空间的访问

        4、占用少量的用户内存,使用系统内存,操作系统管理系统内存的开启与释放

        5、与内存分页使用的缺页中断机制相同,占用一部分的用户内存存储虚拟内存到到磁盘的映射关系,映射部分数据却不在物理内存中同样产生缺页中断

        6、除了节省了内存空间和用户空间之间的一次传输之外,mmap()还能够通过减少所需使用的内存来提升性,当使用read()或write()时,数据将被保存在两个缓冲区中:一个位于用户空间,另一个位于内核空间。当使用mmap()时,内核空间和用户空间会共享同一个缓冲区

        7、适合对于大文件的重复随机存储与访问

        

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值