购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 进程间通信

2.1.1 进程间通信的概念

分布式计算的核心技术是进程间通信(InterProcess Communication,IPC),即在互相独立的进程(进程是程序的运行时表示)间通信及共同协作以完成某项任务的能力。图2-1给出了基本的IPC机制:两个运行在不同计算机上的独立进程( P 1 P 2 ),通过互联网交换数据。其中,进程 P 1 为发送者(sender),进程 P 2 为接收者(receiver)。

图2-1 IPC机制

在分布式计算中,两个或多个进程按约定的某种协议进行IPC,此处的协议是指数据通信各参与进程必须遵守的一组规则。在协议中,一个进程有些时候可能是发送者,其他时候则可能是接收者。如图2-2所示,当一个进程与另一个进程进行通信时,IPC被称为单播(unicast);当一个进程与另外一组进程进行通信时,IPC被称为组播(multicast)。

图2-2 单播通信和组播通信

操作系统为进程间通信提供了相应的设施,我们称之为系统级IPC设施,例如消息队列、共享内存等。直接利用这些系统级IPC设施,就可以开发出各种网络软件或分布式计算系统。然而,基于这种底层的系统级IPC设施来开发分布式应用往往工作量比较大且复杂,所以一般不直接基于系统级IPC设施进行开发。为了使编程人员从系统级IPC设施的编程细节中摆脱出来,可以对底层IPC设施进行抽象,提供高层的IPC API(Application Programming Interface,应用编程接口或应用程序接口)。该API提供了对系统级设施的复杂性和细节的抽象,因此,编程人员开发分布式计算应用时,可以直接利用这些高层的IPC API,把注意力更多地集中在应用逻辑上。 T5VP/gZha1QS6GCtTC7mmCsfW9j/2I+BvoUWyF3w5cMkaKHY7WMeMcIIS4/B4gQv

点击中间区域
呼出菜单
上一章
目录
下一章
×