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进程申请的内存空间建立映射关系,
    共同指向同一块物理内存空间。

  • 相关阅读:
    1093 Count PAT's(25 分)
    1089 Insert or Merge(25 分)
    1088 Rational Arithmetic(20 分)
    1081 Rational Sum(20 分)
    1069 The Black Hole of Numbers(20 分)
    1059 Prime Factors(25 分)
    1050 String Subtraction (20)
    根据生日计算员工年龄
    动态获取当前日期和时间
    对计数结果进行4舍5入
  • 原文地址:https://www.cnblogs.com/deng-tao/p/5994212.html
Copyright © 2011-2022 走看看