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
进程是现代操作系统的核心概念之一,用于分配系统(CPU,内存)资源的使用。 了解linux进程及进程切换的知识,首先要理解进程与程序的区别,进程是执行流,是动态概念;程序是数据与指令序列的集合,是静态概念。进程作为动态的 执行流,可以用execv系统调用自由选择一个程序(只要有权限)来执行的,理解这 ...
分类:
系统相关 时间:
2018-02-13 16:43:50
阅读次数:
205
参考博文:http://www.cnblogs.com/huxiao-tee/p/4660352.html x86平台下linux进程虚拟地址空间分布(2.6.7以前版本) mmap区域与栈区域相对增长,只有1GB连续的虚拟地址空间可用。 x86平台下linux进程虚拟地址空间分布(2.6.7以后版 ...
分类:
其他好文 时间:
2018-02-08 15:30:39
阅读次数:
383
共享内存 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
1进程调度就绪进程最重要的特征是该进程是非阻塞的。进行用户交互、大量读写文件、响应I/O和网络事件的进程会花费大量时间来等待资源可用,在相当长的时间内无法转为就绪状态(长是相对于指令运行时间而言),因此就绪进程首先应该是非阻塞的。一个就绪进程还必须至少有部分“时间片”(调度器分配给进程的运行时间)。内核用一个就绪队列维护所有的就绪进程,一旦某进程耗光它的时间片,内核就将其移出队列,直到所有就绪进程
分类:
系统相关 时间:
2018-01-30 12:15:59
阅读次数:
220