1.进程之间的通信
定义:进程之间的通信是指在进程之间传输数据。
进程之间的通信根据进程之间传输数据的效率和多少分为高级通信和低级通信。
2.共享内存的通信方式
连个进程可以直接共享访问同一块内存区域。
——共享内存的编程实现:
先获得共享内存,然后映射到地址空间,之后就可以使用共享内存,,取出数据,接触映射关系,之后删除共享内存。
3.管道通信
管道机制必须提供的协调能力
(1)互斥:读写操作必须互斥进行。在写的时候不能去读,在读的时候不能去写。
(2)同步:当写进程写满以后必须唤醒读进程,当读进程读完以后必须唤醒写进程去写。
(3)对方是否存在:管道通信只有在双方都存在的时候才成立。
4.消息传递通信:
特点:以格式化的消息为通信单位:有发送者、有接受者、有消息。例如:客户端发送消息给服务器,消息队列由操作系统进行管理。
两种方式:直接通信——接发送消息制定对方名字。
间接通信——接发送消息制定一个邮箱。
示意:
进程A给B发送消息M,进程B接受进程A的消息,当进程A调用Send发送消息,B会有一个消息队列,消息会挂到队列里,B接收消息,从接收区取消息