共享存储器系统
相互通信的进程共享某些数据结构或共享存储区,进程之间能通过这些空间进行通信
基于共享数据结构的通信方式
例如生产者消费者,共享一个存储区,效率低,只能传递相对少量的数据
基于共享存储区的通信方式
在内存中划分出一块共享区域,需要通信的进程申请共享存储区中的一个分区,然后进行读写,不需要的时候就归还共享存储区
管道通信系统
连接一个读进程和写进程,进程消息的发送和接受是利用一根管道进行的
消息传递系统
直接通信方式
发送进程利用系统所提供的发送命令,直接把消息发送给目标系统
对称寻址方式
send(receiver, message);
receiver(sender, message);
非对称寻址方式
send(p, menssage);
receive(id, message);
间接通信方式
进程之间的通信,需要通过某种中间实体来完成。——>信箱通信
进程把消息存储信箱,也可以从信箱读取
信箱的结构
- 信箱头,存放信箱的描述信息
- 信箱体,存放消息
send(mailbox, message);
receive(mailbox, message);
信箱分类
- 私用信箱,用户进程自己创建
- 公用信箱,操作系统穿件,给系统中的所有核准的进程使用
- 共享信箱,某进程创建,是可以共享的