1. IPC标识符:
每一个I P C目标都有一个唯一的I P C标识符。这里所指的I P C目标是指一个单独的消息队列、一个信号量集或者一个共享的内存段。系统内核使用此标识符在系统内核中指明 I P C目标。
2. IPC 关键字:
想要获得唯一的标识符,则必须使用一个 I P C关键字。客户端进程和服务器端进程必须双方都同意此关键字。这是建立一个客户机/服务器框架的第一步。在System V IPC机制中,建立两端联系的路由方法是和I P C关键字直接相关的。通过在应用程序中设置关键字值,每一次使用的关键字都可以是相同的。一般情况下,可以使用f t o k ( )函数为客户端和服务器端产生关键字值。
3. 消息队列特点:
消息队列是一个由系统内核负责存储和管理,并通过消息队列标识符引用的消息链表。相较于其它几种IPC机制,消息队列具有明显的优势:
1)流浪控制:如果系统资源(内存)紧张或接收消息的进程来不及处理队列中的消息,则发送消息的进程会在内核的控制性进入休眠,待条件满足再被唤醒继续发送消息;
2)面向记录:以一个消息为单位发送,一个消息一个消息的发送(接收),从结构上保持了消息的完整性;
3)类型过滤:按消息的类型提取队列中的消息;
4)天然同步:空队列不可读,满队列不可写,不发则不收。