15.6 XSI IPC
(1)3种称作XSI IPC的IPC是:
1)消息队列
2)信号量
3)共享存储器
(2)标识符和键
1)标识符:是一个非负整数,用于引用IPC结构。是IPC对象的内部名。
2)键:IPC对象的外部名。可使多个合作进程能够在同一IPC对象上汇聚。
(3)IPC_PRIVATE键:
用于创建一个新的IPC结构。不能指定此键来引用一个现有的IPC结构。
(4)ftok函数:
由一个路径名和项目ID产生一个键。
(5)ipc_perm结构体
规定了ipc结构的权限和所有者。
(6)结构限制:
XSI IPC结构都有内置限制,可通过重新配置内核来改变。
1)sysctl命令:观察、修改内核配置参数。
2)ipcs -l:显示ipc相关限制。
(7)IPC结构和管道、FIFO的区别:
IPC结构在系统范围内起作用,且没有引用计数。
(8)IPC结构在文件系统中没有名字;IPC不使用文件描述符。
15.7 消息队列
(1)新的应用程序中不要使用消息队列。它们有缺点。(15.6.4)
(2)客户进程和服务器进程之间的双向数据流,可以使用消息队列或全双工管道。
15.8 信号量
(1)多个进程间共享一个资源,可以使用信号量、记录锁和互斥量中的一种来协调。
(2)共享存储中的互斥量速度最快,但作者依然喜欢使用记录锁的两个原因:
1)<459>
2)<459>
15.9 共享存储
(1)共享存储的作用:
允许两个或多个进程共享一个给定的存储区。
它是最快的一种IPC,因为数据不需要在客户进程和服务器进程之间复制。
(2)使用共享存储时要掌握的唯一诀窍:
同步:写完再读取。(信号量、记录锁和互斥量)
时间: 2024-10-03 14:03:43