操作系统原理教程:进程通信
进程通信 指的是并发进程之间相互交换信息。 进程通信的方式 进程高级通信机制可分为三大类:共享存储器系统、消息传递系统和管道通信系统。 共享存储器系统 (Sharing-Memory System)要求通信进程之间共享某些数据结构或存储区域,并通过这些共享的存储区域进行通信。但这些共享存储区域一定要在多个进程之间互斥使用,否则会导致不确定性错误。 消息传递系统 (Message Passing System)中进程间的数据交换以格式化的消息为单位。在计算机网络中,又把Message称为报文。程序员直接利用系统提供的一组通信命令(原语)进行通信。操作系统隐藏了通信的实现细节,大大降低了通信程序编制的复杂性。消息传递系统依据实现方式的不同,又分成两种: 直接通信方式。发送进程直接把消息发送给接收进程,并将它挂在接收进程的消息缓冲队列上,接收进程从消息缓冲队列中取得消息。 间接通信方式。发送进程把消息发送到某个中间实体中,接收进程从中取得消息。这种中间实体一般称为信箱,故这种通信方式也称为信箱通信方式。 管道通信系统 ,又称共享文件通信。管道是指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件。向管道提供输入的发送进程,以字符流形式将大量的数据送入管道;而接收进程则从管道中接收数据。 消息缓冲通信 消息缓冲通信是一种直接通信方式。为了实现消息缓冲通信