1、
linux 环境中进程地址空间相互独立,每个进程各自有不同的用户地址空间
任何一个进程的全局变量在另一个进程都是不可见的,进程与进程之间不可以相互访问,所以需要内核来进行数据交换。
在内核中开辟数据缓存区,进程1把数据从用户空间拷贝到内核缓存区,进程2再从内核缓存区把数据取走
比方说我有两个进程 a.out b.out
我如果在A中打开一个文件我可以通过文件描述符来操作
A B中文件描述符是可以不相等的这取决于当前进程中文件描述符的使用情况 0 1 2错误输入输出这几个是一般不用的
A可以是3B可以是4
内核开辟一块缓存区文件映射到这块 A3指向这里B4也指向这里,实现IPC
但是他的同步性很差,你需要注意先写,再读。
开销也大。
很少用陆陆续续被淘汰了