当前位置:嗨网首页>书籍在线阅读

01-POSIX IPC介绍

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

第51章 POSIX IPC介绍

POSIX.1b实时扩展定义了一组IPC机制,它们与在第45章到第48章章中介绍的System V IPC机制类似。(POSIX.1b的开发者的其中一个目标是设计出一组能弥补System V IPC工具的不足之处的IPC机制。)这些IPC机制被统称为POSIX IPC。这三种POSIX IPC机制具体如下。

  • 消息队列可以用来在进程间传递消息。与System V消息队列一样,消息边界被保留了下来,这样读者和写者就以消息为单位(与管道提供的无分隔符的字节流是不同的)进行通信了。POSIX消息队列允许给每个消息赋一个优先级,这样在队列中优先级较高的消息会排在优先级较低的消息前面。这种功能从某种程度上来讲与System V消息中的类型字段提供的功能是一样的。
  • 信号量允许多个进程同步各自的动作。与System V信号量一样,POSIX信号量也是一个由内核维护的整数,其值永远都不会小于0。与System V信号量相比,POSIX信号量在用法上要简单一些:它们是逐个分配的(与System V信号量集相比),并且在单个信号量上只能使用两个操作来将信号量的值加1或减1(与semop()系统调用能原子地在一个System V信号量集中的多个信号量上加上或减去一个任意值相比)。
  • 共享内存使得多个进程能够共享同一块内存区域。与System V共享内存一样,POSIX共享内存提供了一种快速IPC。一个进程一旦更新了共享内存之后,所发生的变更立即对共享同一区域的其他进程可见。

本章将对各个POSIX IPC工具进行概述,并着重介绍它们的共有特性。