UNIX 环境编程 之 进程间通讯(IPC) 一 IPC概述

本文介绍了UNIX环境下进程间通信(IPC)的基本概念,包括管道、命名管道(FIFO)、消息队列、共享存储和远程过程调用(RPC)。还探讨了进程同步方法如信号量、互斥锁和读写锁,以及IPC对象的持续性问题。内容覆盖了从本地到网络的多种通信方式及其特点。
摘要由CSDN通过智能技术生成

1.概述

IPC是进程间通信(inter process communication)的简称,传统上该术语描述的是运行在某个操作系统之上的不同进程间的各种消息传递.而涉及不同进程间对消息的处理的时候,也就必须要考虑相关消息的同步。本章主要简单介绍下,会涉及的几种的几种同步方式,和几种常用的IPC方式。后续会深入理解下

2.IPC通信方式

  • 管道(pipe):一种广泛使用的IPC形式。但是有两种限制, 1.管道是半双工的。数据只能在一个方向上流动。2.它们只能在具有公共祖先的进程之间使用
  • FIFO(也叫命名管道):因其通过路径关系绑定,可以用于任意进程间通信,而不像普通无名管道只能用于有共同祖先的进行直接通信;
  • 消息队列
  • 共享存储
  • RPC(远程过程调用)

3.进程间同步

为了防止多个进程同时修改同一个文件,因而需要某种同步方式

  • 记录上锁
  • 信号量
  • 互斥锁、条件变量:常用于线程间同步,也可用于进程间同步
  • 读写锁

4.进程间共享信息方式

我们在一个系统上运行多个进程,每个进程都有各自的地址空间,而他们之间是怎么对一些信息共享的呢?对此下图做了总结
图  1-1 进程间共享内存的的三种方式

  • 左边两个进程可以看出,共享的是文件系统&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值