【Linux 进程间通信】管道

1.为什么操作系统需要向用户提供进程间通信方式?

①🍎资源共享:有的时候两个进程需要访问同一块资源;
②🍎协同作用:某个进程可能需要控制另外一个进程一起运行;
③🍎并发运行:进程的并发控制肯定是需要多个进程之间通信来完成的;

2.进程间通信的种类

①管道:🐧 Linux 下一切皆文件,所以我们也要把管道按文件来理解,管道实际上是内存中的一块共享区域

②共享内存:🐧
③消息队列:🐧
④信号量:🐧

在这里插入图片描述

3.管道

3.1管道的作用

用于进程间的数据传输

3.2管道的本质

内核中的一块缓冲区

3.3管道的通信原理

两个进程访问内核中的同一块缓冲区

3.4管道的分类
  • 匿名管道
  • ①缓冲区没有标识符;
    ②只能由血缘关系的两个进程进行通信(父和子进行通信,或者爷孙之间进行通信);

  • 命名管道
  • ①缓冲区有标识符;
    ②没有亲缘关系的两个进程也可以进行通信;

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 05:00:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 05:00:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 05:00:03       82 阅读
  4. Python语言-面向对象

    2024-04-28 05:00:03       91 阅读

热门阅读

  1. 编程导师查尔斯·西蒙尼

    2024-04-28 05:00:03       25 阅读
  2. Android 修改状态栏电池图标颜色

    2024-04-28 05:00:03       38 阅读
  3. k8s安装KubeVirt

    2024-04-28 05:00:03       37 阅读
  4. android调用webview

    2024-04-28 05:00:03       28 阅读
  5. 安卓bp文件和mk文件转换

    2024-04-28 05:00:03       35 阅读
  6. Windows API函数之网络类函数

    2024-04-28 05:00:03       25 阅读
  7. 比特币怎么买?新手小白教程

    2024-04-28 05:00:03       30 阅读
  8. 模电——二极管基本电路(第一章)

    2024-04-28 05:00:03       28 阅读
  9. CPP线程管理类实现

    2024-04-28 05:00:03       35 阅读
  10. ubuntu18源码安装postgresql15.2数据库

    2024-04-28 05:00:03       41 阅读