美文网首页
第二十三章 进程间通信介绍(一)

第二十三章 进程间通信介绍(一)

作者: 羽汐66 | 来源:发表于2018-05-14 20:21 被阅读0次

本章目标:

    进程同步与进程互斥

    进程间通信目的

    进程间通信发展

    进程间通信分类

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

    IPC对象的持续性


1 进程同步与进程互斥

1.1顺序程序与并发程序的特征

1.1.1顺序程序特征

    顺序性

        后一个指令在前一个指令的基础上才能执行

    封闭性:(运行环境的封闭性)

         同样寄存器,系统堆栈,进程上下文不受其他程序影响    

    确定性

        输入一定,输出一定,不受所运行得机器上

    可再现性

         相同的输入,相同的输出

1.1.2并发程序特征

    共享性

    并发性

    随机性


1.2 进程互斥

    互斥资源(临界资源)

        只允许一个进程使用的资源(排他性)

    进程的互斥

        各进程间竞争使用需要互斥使用的资源,进程的这种关系为进程的互斥

    临界区

        在进程涉及到互斥资源的程序段叫临界区

    互斥示例:售票——票

1.3 进程同步

        多个进程需要相互配合共同完成一项任务

        (两个进程的协作)

    同步与互斥---可以通过信号量实现


2 进程间通信目的

    数据传输

        一个进程需要将它的数据发送给另一个进程

    资源共享

        多个进程之间共享同样的资源

    通知事件

        一个进程需要向另一个或一组进程发送信息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)

    进程控制

        有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变

    进程控制也可以通过信号的方式(SIGTRAP)来实现


3 进程间通信发展

    管道

          两个进程间通信

          匿名管道:父子进程或有亲缘关系的进程间通信  

          有名管道:允许无亲缘关系的进程间通信

    System V进程间通信

        使用广泛,Unix  , linux等

    POSIX进程间通信


4 进程间通信分类

    文件

        两进程A、B数据传输,A数据存在文件中,B从文件中读数据

    文件锁

           互斥与同步---读写锁,读操作-共享,写操作--互斥锁

    管道(pipe)和有名管道(FIFO)

        进程间传输数据

    信号(signal)

            SIGTRAP 一个进程完全控制另一个进程的执行

    消息队列

            进程间传输数据

    共享内存

            进程间共享数据

    信号量

            进程间对数据的同步访问或互斥访问

    互斥量

    条件变量

    读写锁

    套接字(socket)

注:

    System V IPC :System V 消息队列、System V 共享内存、 System V 信号量

    POSIX IPC: 消息队列、共享内存、  信号量\互斥量、条件变量、 读写锁


5 进程间共享信息的三种方式    

     1、共享一个文件系统    

    2、共享内核中的信息    

    3、共享同一块共享内存区(传递数据效率高,不涉及对内核的访问)


6 IPC对象的持续性

    随进程持续

        一直存在直到打开最后一个进程(pipe和FIFO)

    随内核持续

        一直存在直到内核自举或显示删除(如System V 消息队列、共享内存、信号量) 

        ps:  内核自举:机器重启

  随文件系统持续

           一直存在直到显示删除,即是内核自举还存在。(POSIX消息队列、共享内存、信号量如果是使用映射文件来实现

相关文章

  • 4399

    一面 1.自我介绍2.学科介绍3.操作系统进程间通信/多进程时如何保护临近资源进程间通信进程间通信(IPC,Int...

  • 五种进程间的通信方式

    1、进程间通信(IPC )介绍 进程间通信(IPC,InterProcess Communication)是指在不...

  • 第二十三章 进程间通信介绍(一)

    本章目标: 进程同步与进程互斥 进程间通信目的 进程间通信发展 进程间通信分类 进程间共享信息的三种方式 IPC对...

  • IPC-进程间通信介绍

    IPC-进程间通信介绍 IPC:InterProcess Communication,进程将通信,通过内核提供的缓...

  • linux进程间通信(1)

    一、进程通信概述 1、什么是进程间通信?什么是线程间通信? 进程间通信: 进程间通信就指的是用户空间中进程A与进程...

  • PHP进程间通信--消息队列

    前面介绍了怎么通过消息管道(有名消息管道)进行进程间通信,下面介绍如何通过消息队列实现进程间通信。 首先我们来看一...

  • 进程间的通信

    进程间的通信主要分为本机器进程间的通信和不同机器间进程的通信。本文主要描述本机进程间的通信。 一、传统Linux的...

  • 进程管理(五)进程间通信、死锁

    (一)进程间通信 除了同步和互斥外,进程间还有其他的通信手段。 进程间的通信 --> IPC (InterProc...

  • socket

    socket介绍 socket是一种IPC机制,但是它不仅可以实现本机进程间的通信还可以实现不同网络中的进程间通信...

  • socket-udp

    1.socket介绍 socket(简称套接字) 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是: 它...

网友评论

      本文标题:第二十三章 进程间通信介绍(一)

      本文链接:https://www.haomeiwen.com/subject/moqjdftx.html