zoukankan      html  css  js  c++  java
  • 存储映射IO

    3.6.7.1、mmap函数
    3.6.7.2、LCD显示和IPC之共享内存
    3.6.7.3、存储映射IO的特点
    (1)共享而不是复制,减少内存操作
    (2)处理大文件时效率高,小文件不划算

     

    总结:存储映射IO其实本质上就是共享内存,和进程间通信的IPC共享内存是一样的,区
    别在于:
    存储映射IO:是访问设备文件的说法,例如访问LCD设备,我们的进程是一个视频播放器
    ,那么他需要将硬盘中的视频数据读取到内存中,然后再把内存中的数据拷贝到LCD驱动
    维护的显存中去,之后硬件会自动实现视频的显示;这个是一般的流程,这种情况需要拷
    贝两次,所以效率很低,解决办法就是:存储映射IO,就是将我们在应用层申请的内存空
    间和LCD显存建立映射关系,虽然他们的虚拟地址不一样,但是对应的物理地址都是相同
    的,也就是指向同一块物理内存,这样我们就只需要拷贝一次即可。

    IPC共享内存:用于两个进程或者是多个进程将的通信,不是操作IO设备,例如:进程A是
    一个摄像头的视频数据采集,进程B是视频数据处理;因为B进程的工作是需要A进程的数
    据的,所以他们之间需要进行数据交流,也就是通信;如果是一般的情况:A进程将采集
    的数据放在自己申请的一段内存中,B进程将A进程的数据拷贝到自己申请的另一段内存,
    这样就需要拷贝两次,而且还是不被允许的,因为两个进程是不能随便进行通信的,解决
    办法就是:共享内存,将A进程的申请的内存空间和B进程申请的内存空间建立映射关系,
    共同指向同一块物理内存空间。

  • 相关阅读:
    支付系统整体架构
    犹太”安息日”
    JWT(JSON Web Token) 【转载】
    详解布隆过滤器的原理、使用场景和注意事项
    缓存一致性策略以及雪崩、穿透问题 【零壹技术栈】
    RPC概念及分类【转载】
    RDLC 微软报表 导出Excel时产生多个工作表 (worksheet)
    asp.net 5 (mvc 6) 获取网站的物理路径
    Asp.net 5 (MVC6) Areas 分区
    MVC6 OWin Microsoft Identity 自定义验证
  • 原文地址:https://www.cnblogs.com/deng-tao/p/5994212.html
Copyright © 2011-2022 走看看