文件服务器ipc,看图理解进程间通信IPC

5788fb2345ce

什么是进程间通讯

进程间通信(inter-process communication或interprocess communication,简写IPC)是指两个或两个以上进程(或线程)之间进行数据或信号交互的技术方案。

通常,IPC一般包含客户端和服务器,客户端请求数据,服务器响应请求(比如分布式计算中就是这样)。

有哪些IPC方法

IPC方法适用的环境

5788fb2345ce

文件(File)

存储在磁盘上的记录,或由文件服务器按需合成的记录,可以由多个进程访问。

5788fb2345ce

信号(Signal)

系统消息从一个进程发送到另一个进程,一般不用于传输数据,而是用于远程传输命令。

5788fb2345ce

套接字(Socket)

通过网络接口将数据量发送到本机的不同进程或远程计算机。

5788fb2345ce

Unix域套接字(Unix domain socket)

用于在同一台机器上运行的进程之间的通信。虽然因特网域套接字可用于同一目的,但UNIX域套接字的效率更高。UNIX域套接字仅仅复制数据;它们并不执行协议处理,不需要添加或删除网络报头,无需计算检验和,不要产生顺序号,无需发送确认报文。

5788fb2345ce

消息队列(Message queue)

类似于套接字的数据流,但消息有自己的结构,它允许多个进程只需要读写消息队列,而不需要直接相互连接。

5788fb2345ce

管道(Pipe)

管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

5788fb2345ce

命名管道(Named pipe或FIFO)

命名管道可在同一台计算机的不同进程之间或在跨越一个网络的不同计算机的不同进程之间,支持可靠的、单向或双向的数据通信。

5788fb2345ce

共享内存(Shared memory)

允许多个进程访问同一个内存块,该内存块作为一个共享缓冲区,供进程间相互通信。

5788fb2345ce

消息传递(Message passing)

一般在并发模型中,允许多个程序使用消息队列或者托管通道通信。

5788fb2345ce

内存映射文件(Memory-mapped file)

类似于标准的文件,内存映射文件映射到RAM,可以直接对内存地址进行更改,而不是更改输出流。

5788fb2345ce

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值