Inter-process communication

来源:互联网 发布:国债逆回购软件 编辑:程序博客网 时间:2024/06/03 17:18

Inter-process communication

翻译自[]{https://en.wikipedia.org/wiki/Inter-process_communication}

在计算机科学中,IPC准确提到操作系统提供进程去使用共享数据的机制。根据IPC可以将应用分类为client,server。客户端请求数据,服务端回复客户端的请求。许多应用同时是客户端也是服务端,例如常见的分布式系统。根据软件的需求使用IPC的方法也分为好几类。例如性能和模块需求,系统集成,网络带宽和延时。

Approaches

method desc provided by(os/other env) File 存储在磁盘的记录或者是序列化到文件服务器,其可以被多个进程进行访问 大部分 os Signal(Asynchronous
system Trap) 从一个进程发送到另一个进程的系统消息,不是经常用来传递数据,而是用来远程命令合作进程? 大部分 os Socket 一个通过网络接口的数据流,要么在相同机器的不同进程,要么在网络的另外一个机器。socket典型的是基于字节流,很少保存信息边界。通过socket写的数据需要格式化来保存数据边界 大部分 os Message queue 类似于socket,但是其经常保持消息边界。典型的通过os来实现,其允许多个进程不需要直接互相连接去读写消息队列 大部分 os pipe 单向数据通道。数据写到管道写端,直到他被从管道读到为止。利用标准的input、output可以实现两种过程的数据流 所有的posix系统,Windows Named pipe 用文件系统的文件实现而不是使用标准的输入输出。多进程可以将文件读成buffer来处理IPC 数据 所有POSIX系统,Windows,amigaOS Semaphore 在共享资源时同步多进程的一个简单的结构 所有POSIX系统,windows,AmigaOS shared memory 授权给多进程,使得他们有权利访问内存相同block的数据,这使得进程能互相通信 所有POSIX,Windows message passing 允许多程序使用消息队列和(或者)非系统管理的通道(channels),通常是使用并发模型来进行通信 使用RPC,RMI,MPI,CORBAK,DDS… Memory-mapped file 文件匹配到RAM可以通过改变内存地址来修改而不是输出一个流的形式。这个共享的方式和标准文件一样 所有POSIX系统,Windows
0 0
原创粉丝点击