进程间通信的主要分类

来自:    更新日期:早些时候
进程通信有哪三种基本类型?~

进程间通信可以通过两种基本方式实现:(1)利用共享内存区域实现数据或代码段的共享存取;第二种方式被广泛应用,尤其是基于互联网的进程通信机制.它又可以划分为直接通信和间接通信.前者需要通信双方明确命令接收者和发送者,而后者通过端口(或邮箱)进行发送.详细资料可以参阅美国Abraham Silberschatz博士所著的第六版中关于进程通信的讨论.

根据交换信息量的多少和效率的高低,进程通信分为如下低级通信和高级通信。 由于进程的互斥和同步,需要在进程间交换一定的信息,故不少学者将它们也归为进程通信。只能传递状态和整数值(控制信息)。特点:传送信息量小,效率低,每次通信传递的信息量固定,若传递较多信息则需要进行多次通信。编程复杂:用户直接实现通信的细节,容易出错。 提高信号通信的效率,传递大量数据,减轻程序编制的复杂度。提供三种方式:1.共享内存模式2.消息传递模式3.共享文件模式

进程间通信主要包括管道, 系统IPC(包括消息队列,信号,共享存储), 套接字(SOCKET).
管道包括三种:
1)普通管道PIPE, 通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用.
2)流管道s_pipe: 去除了第一种限制,为半双工,可以双向传输.
3)命名管道:name_pipe, 去除了第二种限制,可以在许多并不相关的进程之间进行通讯. 系统IPC的三种方式类同,都是使用了内核里的标识符来识别.
FAQ1: 管道与文件描述符,文件指针的关系?
答: 其实管道的使用方法与文件类似,都能使用read,write,open等普通IO函数. 管道描述符来类似于文件描述符. 事实上, 管道使用的描述符,文件指针和文件描述符最终都会转化成系统中SOCKET描述符. 都受到系统内核中SOCKET描述符的限制. 本质上LINUX内核源码中管道是通过空文件来实现.
FAQ2: 管道的使用方法?
答: 主要有下面几种方法: 1)pipe, 创建一个管道,返回2个管道描述符.通常用于父子进程之间通讯. 2)popen, pclose: 这种方式只返回一个管道描述符,常用于通信另一方是stdin or stdout; 3)mkpipe:命名管道, 在许多进程之间进行交互.
FAQ3: 管道与系统IPC之间的优劣比较?
答: 管道: 优点是所有的UNIX实现都支持, 并且在最后一个访问管道的进程终止后,管道就被完全删除;缺陷是管道只允许单向传输或者用于父子进程之间.
系统IPC: 优点是功能强大,能在毫不相关进程之间进行通讯; 缺陷是关键字KEY_T使用了内核标识,占用了内核资源,而且只能被显式删除,而且不能使用SOCKET的一些机制,例如select,epoll等.
FAQ4: WINDOS进程间通信与LINUX进程间通信的关系?
答: 事实上,WINDOS的进程通信大部分移植于UNIX, WINDOS的剪贴板,文件映射等都可从UNIX进程通信的共享存储中找到影子.
FAQ5: 进程间通信与线程间通信之间的关系?
答: 因为WINDOWS运行的实体是线程, 狭义上的进程间通信其实是指分属于不同进程的线程之间的通讯.而单个进程之间的线程同步问题可归并为一种特殊的进程通信.它要用到内核支持的系统调用来保持线程之间同步. 通常用到的一些线程同步方法包括:Event, Mutex,信号量Semaphore,临界区资源等.




进程间通信的主要分类视频

相关评论:
  • 17393657539进程间的通信方式:
    武齐居常见的进程间的通信方式为7种:按照通信类型划分:1,共享存储系统 2,管道通信系统。3,消息传递系统。4,客户机服务器系统。把一个进程连接到另外一个进程的一个数据流成为管道,通常一个进程的输出作为另外一个进程的输入。本质是内核的一块缓存。Linux的管道主要有两种:无名管道和有名管道。基本特性...

  • 17393657539进程之间通信都有哪些方式
    武齐居进程之间通信的方式主要有以下几种:1. **管道(Pipe)**:管道是最基本的进程间通信机制,它是一种半双工的通信方式。一个进程从管道的一端写入数据,另一个进程从管道的另一端读取数据。由于管道的两端都是已缓冲的,因此,它常常用于父子进程之间的通信。2. **信号(Signal)**:信号是一种更...

  • 17393657539进程间通信方式有哪些
    武齐居进程间通信方式主要有以下几种:管道(Pipe)管道是一种基本的通信方式,通常用于父进程和子进程间的通信。管道是单向的,数据只能单向流动,分为匿名管道(无名字的管道)和有名管道(有名共享文件方式实现)。匿名管道结合fork函数使用创建父子进程,有名管道通过文件系统实现进程间通信。这种方式主要用于...

  • 17393657539进程间通信的方式有哪些各自的优缺点
    武齐居进程间通信主要包括管道, 系统IPC(Inter-Process Communication,进程间通信)(包括消息队列,信号,共享存储), 套接字(SOCKET).管道包括三种:1)普通管道PIPE, 通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用.2)流管道s_pipe: 去除了第一种限制,为半双工,可以双向传输.3)命名...

  • 17393657539几种常用的进程间通信的方式,通信特点和通信方式的优缺点
    武齐居根据进程通信时信息量大小的不同,可以将进程通信划分为两大类型:控制信息的通信和大批数据信息的通信。前者称为低级通信,后者称为高级通信。主要用于进程之间的同步、互斥、终止、挂起等控制信息的传递。主要用于进程间数据块的交换和共享。常见的高级通信有管道(PIPE)、消息队列(MESSAGE)、共享内存(...

  • 17393657539进程间的通信有哪些
    武齐居信号是一种简单的通信方式,用于通知接收进程某个事件已经发生。信号处理可以打断进程的正常流程,因此需要谨慎使用。进程间通信的功能主要包括:- 数据传递:通过消息传递机制,数据被封装成消息进行传递。- 控制流转移:在通信过程中,控制流可以从发送进程转移到接收进程,实现进程间的交互和协作。以上每种...

  • 17393657539进程通信的7种方式
    武齐居3. 消息传递系统: - 直接通信:使用发送原语直接传递消息。 - 间接通信:通过邮箱共享实体进行发送和接收,提供灵活性。4. 客户机服务器系统: - 套接字:进程间通信和网络通信的核心,分为基于文件和网络的两种类型。 - 远程过程调用(RPC):支持跨主机通信,通过网络进行方法调用。5....

  • 17393657539进程间需要传输大量数据,合适的通信方式有
    武齐居5、消息队列:消息队列是一种异步的通信方式,可以用于进程间大量数据的传输。通过将数据包装成消息,进程可以将数据放入消息队列,然后由接收进程从消息队列中取出数据。消息队列可以实现异步通信,提高进程间通信的效率。但需要注意的是,消息队列的性能受到队列大小和消息处理速度的限制。

  • 17393657539进程通信有哪三种基本类型?
    武齐居进程间通信可以通过两种基本方式实现:(1)利用共享内存区域实现数据或代码段的共享存取;(2)利用系统内核提供的进程间通信(IPC)工具实现,IPC是由消息传递系统提供的.第二种方式被广泛应用,尤其是基于互联网的进程通信机制.它又可以划分为直接通信和间接通信.前者需要通信双方明确命令接收者和发送者,而后者...

  • 17393657539进程间通信的方式
    武齐居进程间通信的方式:包括管道(PIPE)、消息排队、旗语、共用内存以及套接字(Socket)。进程间通信是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要求,也可能导致一个...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网