进程间的通信

      进程间的通信(InterProcess Communication,IPC),在不同进程间传播或交换信息。因为进程用户空间是相互独立的,但可以共享内存区,内核可以提供共享内存区的条件。除此之外,就是双方都可以访问的外设了。

进程间的通信方法:1.管道(命名管道和无名管道)

                                 2.消息队列,共享内存,信号量   称为系统(POSIX 和System)IPC

                                 3.套接口(用于远程进程间通信)



管道(Pipe)pipe也称匿名管道,是Linux下最常见的通信方式,是在两个进程之间实现一个数据流通的通道。

特点:· 管道没有名字,也称匿名管道

   · 管道是半双工的,数据只能从一个方向流动。需要双方通信是要建立两个管道

           · 只能用于父进程或者兄弟进程之间

   · 单独都成一种独立的文件系统

  · 数据的读出和写入:一个进程向管道中写的内容被管道另一端进程读出。写入的内容每次都添加在管道缓冲区末尾,并且每次都是从缓冲区头部读出数据

           · 管道缓冲区是有限的

    · 管道传递的是无格式字节流


命名管道(FIFO)mkfifo:提供一个路径名与之关联,以FIFO的文件形式存在于文件系统中。只要进程能够访问该路径,就能通信。

特点: · 命名管道可以用于任何两个进程之间的通信

    · 命名管道作为一个特殊的文件存放于文件系统中,而不是像管道一样存放在内存中




 

          

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值