Linux 网络编程笔记(3)——进程间通信

来源:互联网 发布:jquery.dialog.js 编辑:程序博客网 时间:2024/06/11 16:24

进程间通信的目的

  1. 数据传输
  2. 资源共享
  3. 通知时间。
  4. 进程控制。一个进程完全控制另一个进程的执行,如拦截另一个进程的所有陷入和异常,并能够几时知道它的状态改变。

进程间通信的分类

  1. 文件
  2. 文件锁
  3. 管道(pipe)和有名管道(FIFO)
  4. 信号
  5. 消息队列
  6. 共享内存
  7. 信号量
  8. 互斥量
  9. 条件变量
  10. 读写锁
  11. 套接字

System V IPC 和 POSIX IPC

  • System V IPC
    • System V 消息队列
    • System V 共享内存
    • System V 信号量
  • POSIX IPC
    • 消息队列
    • 共享内存
    • 信号量
    • 互斥量
    • 条件变量
    • 读写锁

进程间共享消息的三种方式

这里写图片描述

  1. 共享文件系统
  2. 共享内核中的信息
  3. 共享内存区

IPC 对象的持续性

  1. 随进程持续。一直存在直到打开的最后一个进程结束。(如pipe和FIFO)
  2. 随内核持续。一直存在直到内核自举或显式删除(如System V 消息队列、共享内存、信号量)
  3. 随文件系统持续。一直存在直到显式删除,即使内核自举还存在。(POSIX消息队列、共享内存、信号量如果是映射文件来实现)。
阅读全文
0 0
原创粉丝点击