有三种机制用来作为multiple processess下,各个process之间的通信方式:
1)module memory同模块共享内存
通过函数op_pro_modmem_install()和op_pro_modmem_access()访问。为了保证process间通信机制,各个process应当遵循shared memory的数据类型,这就要求process都要知道,因而shared memory的数据结构定义应当放在外部定义“.h”文件中,并包含在每个process的header block中。shared memory一开始是没有的,是由process来决定什么时候分配以及分配多大,这些通过op_pro_modmem_acess()来完成。内存的分配一般是通过op_prg_meme_alloc()来完成。
2)父子共享内存
只有以父子关系联系在一起的process才能访问的私有共享内存,这种共享内存只能在child process由op_pro_create()产生时由op_prg_meme_alloc()分配,且不能被替换。通过op_pro_parmem_acess()访问。通过op_pro_invoke()通知对方对共享内存的内容进行的修改,以及对内容的检查。
3)参数内存
将内存地址作为op_pro_invoke()的参数传送给别的进程用以通信,通过op_pro_argmem_access()来完成访问。与前两个不同的是,这部分内存不是永恒的。