前面讲述了进程间通信的两种方式 匿名管道 和 命名管道 今天我们继续来看看进程间通信的其他方式system V
system V共享内存
- 共享内存,听名字就知道他是一块内存,这块内存一定是可以被俩个进程同时看到的临界资源,正如我们所想的,这块内存被开辟在物理内存上,然后通过页表映射到各个进程的虚拟地址空间的共享内存段,就像我们下图中所画的那样。
- 共享内存是system V进程间通信速度最快的
共享内存函数
共享内存创建函数 shmget
int shmget(key_t key, size_t size, int shmflg);
- 参数1:共享内存独一无二的编号,由ftok函数构造,下面介绍,这个key就像你的身份证
- 参数2:表示需要开共享内存的大小,单位是页