![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 81
cooler126
这个作者很懒,什么都没留下…
展开
-
Linux环境进程间通信(五) 共享内存(上)
Linux环境进程间通信(五): 共享内存(上) 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]:一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除映射,有新的通信时,再重新建转载 2012-10-12 10:24:53 · 736 阅读 · 0 评论 -
Linux 环境进程间通信(六)套接口
Linux 环境进程间通信(六) 套接口 一个套接口可以看作是进程间通信的端点(endpoint),每个套接口的名字都是唯一的(唯一的含义是不言而喻的),其他进程可以发现、连接并且 与之通信。通信域用来说明套接口通信的协议,不同的通信域有不同的通信协议以及套接口的地址结构等等,因此,创建一个套接口时,要指明它的通信域。比较常见的是unix域套接口(采用套接口机制实现单机内的进程间通信)及网际通转载 2012-10-12 10:26:16 · 1051 阅读 · 0 评论 -
Linux环境进程间通信(二) 信号(上)
Linux环境进程间通信(二): 信号(上) 一、信号及信号来源 信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机转载 2012-10-12 10:21:02 · 623 阅读 · 0 评论 -
Linux环境进程间通信(二) 信号(下)
Linux环境进程间通信(二): 信号(下) 一、信号生命周期 从信号发送到信号处理函数的执行完毕 对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处理函数执行完毕。相邻两个事件的时间间隔构成信号生命周期的一个阶段。 下面阐述四个事件的实际意义:转载 2012-10-12 10:23:15 · 1008 阅读 · 0 评论 -
Linux环境进程间通信(三)消息队列
Linux环境进程间通信(三)消息队列 消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点。作为早期unix通信机制之一的信号能够传送的信息量有限,后来虽然 POSIX 1003.1b在信号的实时性方面作了拓广,使得信号在传递信息量方面有了相当程度的改进,但是信号这种通信方式更像"即时"的通信方式,它要求接受信号 的进程在某个时间范围内对信号做出反应,因此该信号最多在接受信号进程的转载 2012-10-12 10:23:50 · 941 阅读 · 0 评论 -
Linux环境进程间通信(四) 信号灯
Linux环境进程间通信(四) 信号灯 一、信号灯概述 信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相当于内存中的标志,进程可以根据它判定是否能够访问某些共享资源,同时,进程也可以修改该标志。除了用于访问控制外,还可用于进程同步。信号灯有以下两种类型: 二值信号灯:最简单的信号灯形式,信号灯的值只能取0或1,类似于互斥锁。 注:二值信号灯能够实现互斥转载 2012-10-12 10:24:25 · 893 阅读 · 0 评论 -
Linux环境进程间通信(五) 共享内存(下)
Linux环境进程间通信(五): 共享内存(下) 系统调用mmap()通过映射一个普通文件实现共享内存。系统V则是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信。也就是说,每个共享内存区域对应特殊文件系统shm中的一个文件(这是通过shmid_kernel结构联系起来的),后面还将阐述。 1、系统V共享内存原理 进程间需要共享的数据被放在一个叫做IPC共享内存区域的地方,所有需要转载 2012-10-12 10:25:25 · 855 阅读 · 0 评论 -
Linux环境进程间通信(一) 管道
1、 管道概述及相关API应用 1.1 管道相关的关键概念 管道是Linux支持的最初Unix IPC形式之一,具有以下特点: 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独转载 2012-10-12 10:20:04 · 935 阅读 · 0 评论