linux 之进程间通信(ipc)

当要完成的功能比较简单时,一个进程即可胜任。
当要完成的功能比较复杂时,需要多个进程共同配合,来完成这个功能。配合,那么就进程间就需要通信。

进程间通信, Inter-Process Communication

  • 数据传输
  • 资源共享(不同进程使用的资源是不一样的)
  • 事件通知
  • 进程控制(如调试工具是一个进程,在这个进程里面去调试另一个进程)

linux 下的ipc机制

  • 1、早期unix系统ipc
    管道:(完成数据传输功能)
    信号:(完成事件通知功能)
    fifo:(完成数据传输功能)
  • 2、system-v ipc (unix系统的主分支)
    system-v 消息队列(数据传输,控制进程)
    system-v 信号量(资源共享,进程控制)
    system-v 共享内存(数据传输,比 其他的ipc 的读写效率较高)
  • 3、socket ipc(unix系统的bsd分支,新的unix系统)
    之前的通信都是一台机器内的进程间通信,但是socket ipc允许不同机器之间进行通信。
  • 4、posix ipc(适用于所有的unix系统,所有的unix系统都要遵循的标准,学这个即可。IEEE指定的。统一unix系统下的操作接口)
    posix消息队列
    posix信号量
    posix共享内存

在开发过程中,一般都会遵循这四种中的某一个标准。

  • 一般都是用posix ipc。
    因为它适用于所有的unix系统,所有的unix系统都要遵循的标准,学这个即可。IEEE指定的。统一unix系统下的操作接口。
  • 不同类型的ipc不会混着用,一个工程里面会选择其中一种。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值