爱问知识人 爱问教育 医院库

什么是“共享内存”?

首页

什么是“共享内存”?


        

提交回答
好评回答
  • 2006-02-15 10:44:55
      共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。
       采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。
      实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建立共享内存区域。而是保持共享区域,直到通信完毕为止,这样,数据内容一直保存在共享内存中,并没有写回文件。共享内存中的内容往往是在解除映射时才写回文件的。因此,采用共享内存的通信方式效率是非常高的。
       更多问题可到新月社区发帖提问: 以上是对这个问题的回答,希望对您有帮助。

    不***

    2006-02-15 10:44:55

其他答案

    2006-02-15 16:37:55
  • 有多种共享,这里可能指的是显卡内存共享.

    f***

    2006-02-15 16:37:55

  • 2006-02-15 10:49:08
  • 大部分情况是在说主板上集成的显卡,没有自己的独立显存,所以在主板内存上分配出一片空间作为显存。这种手段叫做共享内存。
    共享内存是一个动宾词组,而不是个名词。
    

    a***

    2006-02-15 10:49:08

类似问题

换一换
  • 硬件 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):