![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
第10章 进程间通信: System V IPC
周厚平
Linux + 安卓 = 标配
展开
-
进程的虚拟地址空间:
1.虚拟存储器是一个抽象概念,它为每一个进程提供了一个假象,好像每个进程都在独占的使用主存。 每个进程看到的存储器区是一致的,称之为虚拟地址空间。2.每个进程看到得虚拟地址空间由大量准确定义的区(area)构成,每个区都有专门的功能。3.当进程创建时,每个进程都会有一个自己的 4GB 虚拟地址空间。要注意的是这个 4GB 的地址空间是“虚拟”的, 并不是真实存在的....原创 2018-12-22 17:39:05 · 882 阅读 · 0 评论 -
SYSTEM-V IPC信号量 详解
SYSTEM-V IPC信号量 详解(1)概述1.消息队列的作用是进程之间传递消息。2.信号量的作用是为了同步多个进程的操作3.内核会负责维护信号量的值,并确保其值不小于 0 。4.信号量上支持的操作· 将信号量的值设置成一个绝对值。· 在信号量当前值的基础上加上一个数量。· 在信号量当前值的基础上减去一个数量。· 等待信号量的值等于 0 。5.二值信号量1.它只有两种合法值...原创 2018-12-18 19:24:03 · 743 阅读 · 0 评论 -
共享内存(SYSTEM-V IPC) (和信号量搭配使用(生产者--消费者))
原理: [进程1] [进程2] strcpy ↓ ↑ printf ________↓__________↑_____ | | 共享内存 | | | |(PAGE_SIZE) | | (内存空间) |_____...原创 2018-12-23 10:45:15 · 861 阅读 · 0 评论 -
消息队列 (System V IPC) 详解
(1)创建或打开一个消息队列 int msgget(key_t key, int msgflg);(2)发送消息 int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg); msqid: 是由 msgget 返回的标识符 ID 。 msgp: 指向用户定义的缓冲区。它的第一个成员必须...原创 2018-12-23 17:43:15 · 574 阅读 · 0 评论 -
SYSTEM-V IPC概述
(1) System V IPC 编程接口(2)SystemV IPC对象的删除 1.消息队列: 立即删除消息队列 // 内核没有对使用消息队列的进程进行计数 2.信号量: 立即删除信号量集 // 内核没有对使用信号量集的进程进行计数 3.共享内存: 如果共享内存的引用计数等于 0,则可以立即删除共享内存。 ...原创 2018-12-23 19:18:59 · 428 阅读 · 0 评论 -
第10章 进程间的通信: System V IPC
【一】SYSTEM-V IPC概述:(1) System V IPC 编程接口 (2)SystemV IPC对象的删除 1.消息队列: 立即删除消息队列 // 内核没有对使用消息队列的进程进行计数 2.信号量: 立即删除信号量集 // 内核没有对使用信号量集的进程进行计数 3.共享内存: 如果共享内存的引用计数等于 0,则可...原创 2019-01-03 16:18:41 · 271 阅读 · 0 评论