Liunx系统编程篇—进程通信(IPC)
文章平均质量分 85
Liunx系统编程篇—进程通信(IPC)的学习笔记
阿波罗啦啦啦啦
粮厂嵌入式工程师 Android底层音视频开发 曲折中上升,实践中领悟
展开
-
Liunx系统编程篇—进程通信(六)信号量(原理、特点、创建、实战)
信号量###信号量(semaphore)与已经介绍过的 IPC 结构不同,它是一个计数器。信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。1、原理2、特点(1)信号量用于进程间同步,若要在进程间传递数据需要结合共享内存。(2)信号量基于操作系统的== PV 操作==,程序对信号量的操作都是原子操作。(3)每次对信号量的 PV 操作不仅限于对信号量值加 1 或减 1,而且可以加减任意正整数。(4)支持信号量组。注:PV操作是一种实现进程互斥与同步的有效方法。PV操作与信号量的原创 2021-01-30 15:24:25 · 355 阅读 · 0 评论 -
Liunx系统编程篇—进程通信(五)信号(二)(sigaction、sigqueue)
本文承接上文Liunx系统编程篇—进程通信(五)信号(一)(原理、概述、创建、实战)(kill、signal)上文对于信号的一些理论,本文就不再赘述。本文重点是讲解:sigaction、sigqueue两个函数,分别用于信号处理函数的注册、信号处理发送函数是signal和kill的升级版。常用API信号处理函数的注册入门版:函数signal高级版:函数sigaction信号处理发送函数1.入门版:kill2.高级版:sigqueue对于入门版的信号处理API的重点在于动作,但kill 函数原创 2021-01-29 23:06:20 · 479 阅读 · 0 评论 -
Liunx系统编程篇—进程通信(一)IPC引入
最基础的进程通信1、创建子进程,子进程退出,收集子进程状态2、使用execl族函数真正意义上的通信若是在单一机器上,则为单机通信多台机器上,为网络通信前五种为单机后两种为多机通信进程间五种通信方式...原创 2021-01-24 16:46:40 · 163 阅读 · 0 评论 -
Liunx系统编程篇—进程通信(二)无名管道(原理、创建、实战)命名管道(原理、创建、实战)
一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点:(1)它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。(2)它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。(3)它可以看成是一种特殊的文件,对于它的读写也可以使用普通的read、write 等函数。但是它不是普通的文件,并不属于其他任何文件系统,并且只存在于内存中。(4)管道中的数据被读走就没了...原创 2021-01-25 22:44:24 · 2617 阅读 · 0 评论 -
Liunx系统编程篇—进程通信(三)消息队列(原理、创建、实战)
消息队列消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。特点(1)消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级(链表存放的为结构体)。(2)消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除(管道是读完就消失),除非销毁队列。(3)消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取(链表的特性),也可以按消息的类型读取。(4)没有固定的读端与写端,双方进程都可以原理创建了解了原理,我们则发现主要关原创 2021-01-26 20:02:41 · 566 阅读 · 0 评论 -
Liunx系统编程篇—进程通信(四)共享内存(原理、创建、实战)
消息队列信号量(semaphore)与已经介绍过的 IPC 结构不同,它是一个计数器。信号量用于实现进程间的互斥与同步,而不是用于存储进程间通信数据。特点信号量用于进程间同步,若要在进程间传递数据需要结合共享内存。信号量基于操作系统的 PV 操作,程序对信号量的操作都是原子操作。每次对信号量的 PV 操作不仅限于对信号量值加 1 或减 1,而且可以加减任意正整数。支持信号量组。原理创建实例...原创 2021-01-26 22:08:43 · 842 阅读 · 0 评论 -
Liunx系统编程篇—进程通信(五)信号(一)(原理、概述、创建、实战)(kill、signal)
1原创 2021-01-28 22:38:09 · 285 阅读 · 0 评论