zoukankan      html  css  js  c++  java
  • 在操作系统中进程是如何通信的

    1、进程

      狭义定义就是,进程是一段程序进行的过程。

      广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

    2、进程间通信(IPC)

      进程间通信,指的是进程之间信息交换,所交换的信息量少则是一个状态或树枝,多则成千上万个字节。

    方式分为两类:共享内存,消息机制。

    共分为8种

    1、共享内存:共享内存就是映射一段能被其他进程所访问的内存。这段内存由一个进程创建,但多个进程可以访问。共享内存是最快放的IPC方式,它是针对其他进程间通信方式效率低锁创建的。它往往与其他的通信机制来配合使用。来实现进程间的同步通信。

    2、管道:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,通常指父子进程关系。

    3、有名管道:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间通信。

    4、高级管道:将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们称为高级管道方式。

    5、信号量:信号量是一个技术器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同意进程内不同线程的同步手段。

    6、消息队列:消息队列是由消息的链表存放在内核并有消息队列标识符标识。消息队列克服了信号传递信息量少,管道只能承载无格式字节流以及缓冲区太小受限。

    7、信号:信号是一种比较复杂的通信方式,用于通知接受进程某个时间已发生。

    8、套接字:套解口也是一种进程间通信机制,与其他通信机制不同的是,不可用于不同主机间的进程通信。

     

  • 相关阅读:
    jQuery小案例
    update-alternatives
    计算机网络备忘
    报文交换 (转自百度百科,方便以后复习)
    erlang supervisor simple_one_for_one实例
    erlang supervisor中启动普通的进程
    erlang四大behaviour之一gen_server(转载)
    用Doxygen+Graphviz生成函数调用流程图(转)
    selenium模块
    request模块
  • 原文地址:https://www.cnblogs.com/cxh1995/p/7797323.html
Copyright © 2011-2022 走看看