进程间通信(多种通信方式详解)

进程间通信:(IPC)

进程间通信:是操作系统为用户提供的进程间通信方式及接口。
进程间难道自己不能通信吗?
不能。因为每个进程都有自己的虚拟地址空间,通过页表映射到物理内存中,并且在页表中进行内存访问控制,因此它是没办法访问到其他进程的物理内存的,它访问的都是自己的虚拟地址空间,因此进程间无法直接通信。因此需要操作系统来提供进程间通信方式,并且因为通信场景不同,提供的方式也有多种
通信的本质:
双方拥有共同的访问空间
进程间通信是干什么的?
进程的独立性(都有自己的虚拟地址空间)—提供一个公共的媒介
是干什么的:数据传输、数据共享、进程控制、时间通知。正因为有不同的应用场景(需求)因此操作系统也提供了多种不同的进程间的通信方式
进程间通信方式:
继承于unix而来的管道,有4种通信的方式:
1)管道:用于进程间数据传输
2)共享内存:用于进程间数据共享
3)信号量:实现进程的同步与互斥
4)消息队列:数据块传输
管道:(传输数据资源)只要大家都能访问到它就可以通信
其实就是内存中的一块缓冲区,半双工通信(提供双向选择,但是只能单向传输);管道创建成功后,返回文件描述符作为句柄,有两个,一个用于读入数据(fdo),一个用于写入数据(fdi)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值