POSIX IPC 全面解析
1. POSIX IPC 概述
POSIX IPC(Inter-Process Communication)标准及其相关应用程序编程接口(APIs)的发展,带来了一系列行业标准接口,提供了与 System V IPC 类似的功能,包括共享内存、信号量和消息队列。虽然形式和功能与 System V IPC 相似,但实现方式却大不相同。
POSIX IPC 基于 POSIX IPC 名称的概念构建,这些名称类似于文件名,但不一定是文件系统中的实际文件。这种命名约定提供了必要的抽象,即文件描述符,以便使用 Solaris 文件内存映射接口 mmap(2) ,所有 POSIX IPC 机制都基于此构建。与 System V IPC 不同,System V IPC 需要一个键值来获取所需 IPC 资源的标识符,常用的生成键值的方法是 ftok(3C) 函数,它根据文件的路径名生成键值。而 POSIX 消除了键的使用,进程通过文件名约定来获取所需资源。
POSIX IPC 代码不需要(也没有)内核可调参数,每个进程的打开文件数量和内存地址空间限制是唯一可能的限制因素。
以下是 POSIX IPC 三种设施的 API 列表:
| 信号量 | 消息队列 | 共享内存 |
| ---- | ---- | ---- |
| sem_open | mq_open | shm_open |
| sem_close | mq_close | shm_unlink |
| sem_unlink | mq_unlink | |
| sem_i
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



