进程通信

  • 进程间通信(IPC)
  • 管道的一个重要特点是使用管道的两个进程之间必须存在某种关系,如使用popen需要提供另一端进程的文件名,使用pipe()的两个进程分别隶属于父子进程
  • 记名管道: 用于在不相关的进程通信
  • 套接字(socket):
  • 进程旗语:信号量
  • **共享内存:**就是两个进程共同拥有同一片内存;要使用共享内存进行通信,一个进程需要创建一片内存空间专门作为通信用,而其他进程则将该片内存映射到自己的(虚拟)地址空间,这样读写自己地址空间中对应共享内存的区域时,就是在和其他进程进行通信;缺点是两个进程必须在同一台物理机器上才能使用,安全性脆弱等
  • 消息队列: 支持多个进程,不是管道的点对点,只在内存中实现

思考题

  • 消息队列和管道异同:管道时一个线性字节数组,类似文件,可以使用文件读写的方式进行访问,消息队列时一列具有头和尾的消息排列,新来的消息放在队列尾部,而读取消息则从队列头开始;
  • 信号和信号量时同一回事吗?信号就是一个内核对象,或者时一个内核数据结构,发送方将该数据结构内容填写好,并指明该信号目标进城后,发送特定的软件中断;信号量不只是通信机制,更是一种同步机制;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值