1)进程对白:管道,记名管道,套接字
人们最常使用的通信手段是对白。对白的特点就是一方发出声音,另一方接收声音。而声音的传递则通过空气(当面或无线交谈),线缆(有线电话)进行传递。类似,进程对白就是一个进程发出某种数据信息,另一方接收数据信息,儿这些数据信息通过一片共享的存储空间进行传递。
在这种方式下,一个进程想向这片存储空间的一端写入信息,另一个进程从存储空间的另外一端读取信息。这看上去像什么?管道。管道所占用的空间既可以是内存,也可以是磁盘。就像两人对白的媒介可以是空气也可以是线缆一样。要创建一个管道,一个进程只需调用管道创建的系统调用即可。该系统调用所做的事情就是在某种存储介质上划出一片空间,赋给其中一个进程写的权利,另一个进程读的权利即可。
2 ) 进程电报: 信号
管道和套接字虽然提供了丰富的通信语义,并且也得到了广泛应用,但它们也存在某些缺电,并且在某些时候,这两种通信机制显得很不好用。
首先,如果使用管道和套接字方式来通信,必须事先在通信的进程间建立连接(创建管道或套接字),这需要消耗系统资源。其次,通信是自愿的。即一方虽然可以向管道或套接字发送信息,但对方却可以选择接收的时机。即使对方对此充耳不闻,你也奈何不得。再次,由于建立连接消耗时间,一旦建立,我们就想进行尽可能多的通信。而如果通信信息量微小,如我们只是想通知一个进程某件事情的发生,则用管道和套接字就有点儿大材小用,效率十分低下。
因此,我们需要一种不同的机制来处理