27 进程通信

是什么

两个或者多个进程实现数据层面的交互,因为进程独立性的存在,导致通信的成本比较高

目的

数据传输:一个进程需要将它的数据发送给另一个进程
资源共享:多个进程之间共享同样的资源
通知事件:一个进程需要向另一个或一组进程发送消息,通知发生了某种事件(如进程终止时通知父进程)
进程控制:有些进程希望完全控制另一个进程的执行(如debug进程),此时控制进程希望拦截另一个进程的所有陷入和异常,并能够及时知道状态改变

怎么办

进程间通信的本质:必须让不同的进程看到同一份“资源”
资源是特定形式的内存空间
这个资源一般是操作系统提供,如果由某一个进程提供会破坏独立性
进程访问这个空间进行通信,本质是访问操作系统,进程代表用户,资源从创建,使用,释放,系统调用接口。一般操作系统会有一个独立的通信模块,隶属于文件系统,IPC通信模块定址标准
基于文件级别的通信方式-----管道

发展

管道
System V进程间通信
POSIX进程间通信

分类

管道

  • 匿名管道
  • 命名管道

System V IPC

  • 消息队列
  • 共享内存
  • 信号量

POSIX IPC

  • 消息队列
  • 共享内存
  • 信号量
  • 互斥量
  • 条件变量
  • 读写锁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值