论文部分内容阅读
目前,随着网络应用的日益广泛,分布式系统得到了迅速发展。作为分布式系统实现的基础—进程间通信也就起着越来越重要的作用。然而Linux 操作系统支持的套接字(Socket)通信方式,使用复杂,代码量大,而且不能满足分布式系统对于透明性的需求。现存的RPC 与RMI系统,提供了可以保证透明性的分布式进程通信机制,但其价格昂贵,需要另行安装,还要求程序员对新的进程通信机制进行学习。本文首先介绍了Linux 系统提供的进程通信方式。之后对新的分布式信号通信系统提出要求:具有与单机内进程通信机制相似的调用接口,满足分布式系统对透明性的要求。接下来我们以此为依据,确定了分布式信号通信系统的体系结构模型。本系统由名字服务器与用户节点组件构成。名字服务器负责提供包括注册、注销和查询在内的名字服务,为用户提供全局唯一的名字—分布式进程号pid_d,以保证分布式系统的透明性。用户节点组件采用并发服务器结构,由守护进程负责接收用户请求,并根据请求类型创建合适的子进程来处理该请求。在设计的基础之上我们实现了分布式信号通信系统。最后,通过测试,我们得出:分布式信号通信系统可以稳定的工作,其速度比套接字方式略有下降,但比较接近,新系统满足了分布式系统的透明性要求,并具有与单机内信号通信相似的用户调用接口,从而降低了用户编写网络通信程序的复杂度。分布式信号通信系统可以作为大型分布式系统的一部分提供信号服务,也可以单独满足网络通信中不同节点上的进程发送信号的需求。本系统为分布式系统的实现提供了理论和实践上的基础,具有重要的理论意义和实用价值。