这篇写的不错给出链接
https://blog.csdn.net/ljianhui/article/details/10253345
下图是两个进程间使用共享内存通信的示意图:
进程A和进程B在操作系统os中都有自己的虚拟内存空间
这个虚拟内存空间又各自对应磁盘上的一段物理内存空间,而且它们是各自独立没有交集的。
1、调用API,让操作系统在物理内存中开辟一大段缓存空间(就是笔在的那个空间)
2、进程A和进程B各自让进程空间与开辟出的实际物理缓存空间建立一一对应的映射关系
3、两个进程各自操作自己的虚拟内存来读写数据,以达到进程间通信的目的。
4、虚拟地址其实就是内存条的大小,每个进程都有这么大的虚拟地址,进程本身是有一部分虚拟地址与实际的物理地址对应,还有很大一部分虚拟地址并没有是有,就可以用其中一部分来实现虚拟地址的映射