如何在进程之间正确共享内存?

时间:2019-04-28 10:23:09

标签: c unix shared-memory

我正在为OS课程设计项目,该项目涉及信号量和共享内存。在项目中,我们打算使用fork创建多个流程,并在所述流程之间进行通信。我们提供了一些示例代码,这些示例代码使用shm_open创建共享对象,并使用mmap将其内容复制到进程内存中,从而可以与给定的内存一起使用所需的数据类型。

此外,在上述代码中,每个新进程都会打开共享对象,并使用mmap来获取自己的数据副本。

1)在父进程中映射共享对象并在子进程中使用从父进程继承的数据的指针是否会更有效(尤其是使用大文件)?

主进程可能会产生数十个进程,并且由于共享数据非常小,所以这可能不是问题,但是我找不到关于是否分别在每个过程中映射共享文件或是否简单地传递的明确答案。指针。

0 个答案:

没有答案