Linux进程间通信——使用匿名管道 在前面,介绍了一种进程间的通信方式:使用信号,我们创建通知事件,并通过它引起响应,但传递的信息只是一个信号值。这里将介绍另一种进程间通信的方式——匿名管道,通过它进程间可以交换更多有用的数据。 一、什么是管道 如果你使用过Linux的命令,那么对于管道这个名词你 ...
分类:
其他好文 时间:
2018-02-13 17:59:45
阅读次数:
143
Linux进程间通信——使用共享内存 下面将讲解进程间通信的另一种方式,使用共享内存。 一、什么是共享内存 顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是 在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将 ...
分类:
其他好文 时间:
2018-02-13 17:58:44
阅读次数:
148
Linux进程间通信——使用流套接字 前面说到的进程间的通信,所通信的进程都是在同一台计算机上的,而使用 socket进行通信的进程可以是同一台计算机的进程,也是可以是通过网络连接起来的不同计算机上的进程。通常我们使用socket进行网络编程,这里将 会简单地讲述如何使用socket进行简单的网络编 ...
分类:
其他好文 时间:
2018-02-13 17:55:15
阅读次数:
199
Linux进程间通信——使用信号量 这篇文章将讲述别一种进程间通信的机制——信号量。注意请不要把它与之前所说的信号混淆起来,信号与信号量是不同的两种事物。有关信号的更多内容,可以阅读我的另一篇文章:Linux进程间通信——使用信号。下面就进入信号量的讲解。 一、什么是信号量 为了防止出现因多个程序同 ...
分类:
其他好文 时间:
2018-02-13 17:53:22
阅读次数:
214
Linux进程间通信——使用消息队列 下面来说说如何用不用消息队列来进行进程间的通信,消息队列与命名管道有很多相似之处。有关命名管道的更多内容可以参阅我的另一篇文章:Linux进程间通信——使用命名管道 一、什么是消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。消息队列是消息 ...
分类:
其他好文 时间:
2018-02-13 17:53:04
阅读次数:
181
共享内存 IPC 原理 共享内存进程间通信机制主要用于实现进程间大量的数据传输,下图所示为进程间使用共享内存实现大量数据传输的示意图: 共享内存是在内存中单独开辟的一段内存空间,这段内存空间有自己特有的数据结构,包括访问权限、大小和最近访问的时间等。该数据结构定义如下: ~~~~ from /usr ...
分类:
系统相关 时间:
2018-02-07 22:46:59
阅读次数:
245
信号量 IPC 原理 信号量通信机制主要用来实现进程间同步,避免并发访问共享资源。信号量可以标识系统可用资源的个数。最简单的信号量为二元信号量 下图为 Linux 信号量通信机制的概念图。在实际应用中,两个进程通信可能会使用多个信号量,因此,Linux 在管理时以信号量集合的概念来管理。 通常所说的 ...
分类:
系统相关 时间:
2018-02-07 00:40:57
阅读次数:
202
消息队列 IPC 原理 消息队列是消息的链式队列,如下图为消息队列的模型。整个消息队列有两种类型的数据结构。 ~~~~ 1.msqid_ds 消息队列数据结构:描述整个消息队列的属性,主要包括整个消息队列的权限、拥有者、两个重要的指针(分别指向消息队列的第一个消息和最后一个消息)。 2.msg 消息 ...
分类:
系统相关 时间:
2018-02-05 21:44:24
阅读次数:
220
这篇文章我们将介绍Linux间进程通间信中的有名管道与无名管道。 一.无名管道 无名管道是一种特殊类型的文件,在内核中对应的资源即一段特殊内存空间,这段空间完全由操作系统管理和维护。可以使用read/write等函数进行读写操作,但不能使用lseek函数来修改当前的读写位置,因为管道需要满足FIFO ...
分类:
系统相关 时间:
2018-02-01 23:13:10
阅读次数:
311
20155301 滕树晨linux基础——linux进程间通信(IPC)机制总结 共享内存 共享内存是在多个进程之间共享内存区域的一种进程间的通信方式,由IPC为进程创建的一个特殊地址范围,它将出现在该进程的地址空间(这里的地址空间具体是哪个地方?)中。其他进程可以将同一段共享内存连接到自己的地址空 ...
分类:
系统相关 时间:
2017-12-09 22:20:22
阅读次数:
225