1)低级通信:进程的互斥和同步 2)高级通信:
指用户可直接利用OS提供的一组通信命令,高效地传送大量数据的一种通信方式。对用户透明。
(1)共享数据结构的通信方式
进程之间通过某种数据结构,如缓冲池进行通信属于低级通信方式。
(2)共享存储区通信方式
为了传送大量信息,在存储器中划出一块共享存储区,进程可通过对共享存储区进行读或写来实现通信,属于高级通信方式。
消息交换的单位是消息或报文,分两种:
(1)直接通信方式
(2)间接通信方式
计算机网络中将消息称为报文。
Send(Receiver,message);
Receive(Sender,message);
例如:
Send(P2,m1);
Receive(P1,m1);
repeat ...
produce an item in nextp;
...
Send(consumer,nextp);
until false;
repeat
Receive(producer,nextp);
...
Consumer the item in nextc;
until false;
(1)互斥。当一个进程正在对管道进行读/写操作时,另一进程必须等待。
(2)同步。当写(输入)进程把一定量的数据(如4K)写入管道后,便去睡眠等待,直到读(输出)进程取走数据后再把他唤醒。当读进程发现管道空时,也应睡眠等待,直至写进程将消息写入管道后,才将它唤醒。
(3)判别对方是否存在,只有确定了对方存在时方能进行通信。
(adsbygoogle = window.adsbygoogle || []).push({});