IPC-进程间通信介绍

IPC-进程间通信介绍

IPC:InterProcess Communication,进程将通信,通过内核提供的缓冲区进行数据交换。
Linux环境下,进程地址空间相互独立,每隔进程各自有不同的用户地址空间。任何一个进程的变量在另一个进程中是看不到的,所以进程和进程之间不能相互访问,要数据交换,必须通过内核,在内核中开辟一块缓冲区,在进程1把数据从用户空间拷贝到内核缓冲区,进程2再从内核缓冲区中读走数据。


TIM截图20190517150511.png

IPC通信方式:

pipe 管道
fifo 有名管道
mmap 文件映射IO,共享IO 速度最快,
本地 socket 最稳定
信号 携带信息连最小
共享内存 在内存开辟一块缓冲去各个进程都可以直接使用。
消息队列

现在比较常用的进程通信方式有:管道(简单)、信号(开销小)、mmap(无血缘关系)、本地套接字(稳定)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.管道机制(pipe) 1.Linux的fork操作 在计算机领域中,尤其是Unix及类Unix系统操作系统中,...
    Geeks_Liu阅读 9,059评论 1 9
  • 一、进程间通信的概念 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间...
    TyiMan阅读 170,472评论 16 320
  • 必备的理论基础 1.操作系统作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口。 管理调度进程,并将多个进程对硬件...
    drfung阅读 8,918评论 0 5
  • 1. 进程通信的概念 IPC:每个进程都有自己独立的进程地址空间,任何在一个经常的全局变量在另一个进程中是看不见的...
    MagicDong阅读 6,038评论 0 4
  • 1 进程介绍 1.1 进程和程序 所谓进程是由正文段(text)、用户数据段(user segment)以及系统数...
    疯狂小王子阅读 4,988评论 0 7