15.6 进程间通信_XSI IPC

来源:互联网 发布:0基础学php还是 编辑:程序博客网 时间:2024/06/02 00:42

      有三种IPC称作XSI IPC,即消息队列、信号量以及共享存储器。

      标识符是IPC对象的内部名。为使多个合作进程能够在同一IPC对象上会合,需要提供一个外部名方案。为此使用了键(key),每个IPC对象都与一个键相关联,于是键就用作为该对象的外部名。

      ftok提供的唯一服务就是由一个路径名和项目ID产生一个键。

  • #include <sys/ipc.h>
  • key_t ftok(const char *path, int id);

      path参数必须引用一个现存文件。当产生键时,只使用id参数的低8位。

      ftok创建的键通常是用下列方式构成的:按给定的路径名取得其stat结构(见4.2节),从该结构中取出部分st_dev和st_info字段,然后再与项目ID组合起来。

      XSI IPC的主要问题是:IPC结构是在系统范围内起作用的,没有访问计数。

      XSI IPC的另一个问题是:这些IPC结构在文件系统中没有名。我们不能用第3、4章中所述的函数来访问它们或修改它们的特性。

原创粉丝点击