共享存储
OS分配一块共享空间供进程通信<br>该空间的访问是互斥的,<br>通过OS提供的同步-互斥工具实现<br>
基于数据结构的共享<br>如“仅存放长10的数组”<br>
速度慢、限制多
基于存储区的共享
OS划出共享存储区
对数据形式存放位置不做要求<br>交由进程控制<br>
管道通信
管道是一个连接读写进程的共享文件<br>在内存中是一块固定大小缓冲区<br>一般与页面等大<br>
<font color="#F44336">仅支持半双工通信<br>双向通信需要两根管道</font>
访问仍要互斥
读写
写进程以字符流形式写入管道<br>写满时wirte()系统调用被阻塞<br>
读进程将数据全部取走,管道<br>变空此时read()系统调用被阻塞<br>
只能一对一,读了就会被丢弃,一次性
消息传递
通过发送消息/接收消息原语<br>以<font color="#F44336">格式化的消息</font>为单位进行<br>
消息的结构
间接通信<br>(信箱通信)<br>
消息发送到信箱中