Windows 系统中进程间通信方式探析引言:系统中进程间的通信及数据交换对于许多应用是至关重要的,尤其是随着软件开发模式逐渐走向分散化和模块化的今日,系统内部或通信双方各进程间协调、控制愈发频繁起来,保持及时的通信及数据交换是完成好任务的必要条件
因此解决好此类问题是做好系统的全题条件
进程及通信类型1
1 系统中进程的划分系统中的进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成
对 Windows 操作系统而言,多用户多任务是其最基本的要求,从而多进程是其基本特征
进程间共同完成特定任务时分工、协作是必定的,从此角度出发,可将系统中的进程分为两类:客户方进程和服务方进程[1]
客户方进程是指发起通信的进程或应用程序,而服务方进程是指接受并应答发起方信号的进程
此种分类对所有的通信双方都适用,但无益于软件开发
另一种分类方法是从软件开发的角度出发,可将系统中的进程分成已方进程、系统进程和他方进程[2]
已方进程即由软件开发方开发的应用程序进入系统后形成的进程,而软件开发方开发的应用程序以外的应用程序进入系统后形成的进程称为他方进程,而系统进程则是由Windows 操作系统所提供的进程
第三种分类方法是以进程所处的位置为出发点,可分为本地进程和远程进程[3]
2 进程间的通信类型及特点根据进程分类结果,可以得到进程间的通信类型:Ⅰ、本地已方进程之间的通信;Ⅱ、本地已方进程和远程已方进程间的通信;Ⅲ、本地已方进程和本地他方进程间的通信;Ⅳ、本地已方进程和远程他方进程间的通信;对于第一种进程间通信,通信双方进程的彼此都来自于同一软件开发方,进程间通信的协议、数据和内容都可由软件开发方在软件设计阶段统一加以考虑
软件开发方在软件设计阶段充分考虑到进程间通信的需求,进而主动实行某种较为成熟的通信实现方式