IPC(1)概述

来源 UNIX 网络编程(第二版)

  • 管道
    是一种广泛的IPC形式,即可在程序中使用,也可在shell中使用。管道的问题在于它们只能在具有共同祖先的进程中使用,不过该问题已随有名管道即FIFO的引入而解决了。
  • 消息队列
  • 同步机制
    需要某种同步形式,往往是为了防止多进程同时修改同一文件 记录上锁 信号量 互斥锁 读写锁 读写锁还没有被posix标准化,不过也许不久后会被标准化。
    进程、线程与信息共享

    (1)左边的两个进程共享存留于文件系统中的某个文件上的某些信息。
    (2)中间的两个进程共享驻留在内核中的某些信息,管道、消息队列、信号量是这种共享类型的例子。访问共享信息的每次操作涉及对内核的一次系统调用
    (3)右边的两个进程有一个双方都能访问的共享内存区。每个进程一旦设置好该共享内存区,就能根本不涉及内核而访问其数据。共享该内存区的进程需要某种形势的同步。
    线程
    Posix.1 线程标准(称 Pthreads)是1995年通过的。从IPC角度看,一个给定的进程内的所有线程共享同样的全局变量(也就是共享内存区的概念对这种模型来说是内在的)。然而我们必须关注的是各个线程间对全局数据的同步访问。同步尽管
    不是一种明确的IPC形式,但它确实伴随许多形式的IPC使用,以控制对某些数据的访问。
    IPC对象的持续性 以后所说的都是随进程持续的IPC

    总结
    有些概念可能不对,欢迎留言
    相关随笔会继续阐述细节,命名方式已(123...)
原文地址:https://www.cnblogs.com/DemonMaster/p/11708377.html