进程间通信系列(8)System V IPC概述

来源:互联网 发布:淘宝装修软件破解版 编辑:程序博客网 时间:2024/05/22 17:41

    UNIX系统存在信号、匿名管道和命名管道等基本进程间通信机制。System V引入了三种高级进程间通信机制:消息队列、共享内存、信号量,称为IPC对象。IPC对象存在于内核中而不是文件系统中,由用户控制释放(用户管理IPC对象的生命周期,如果用户不释放IPC对象,则IPC对象存在于内核运行的所有周期内,除非开机重启),不像管道的释放由内核自动控制。

    IPC对象通过其标识符来引用和访问,所有IPC对象在内核空间中有唯一性标识ID,在用户空间中的唯一性标识称为key。Linux IPC继承了System V IPC。

    System V IPC对象的访问

    >IPC对象是全局对象,可用ipcs,ipcrm等命令查看或删除;

    >每个IPC对象都由get函数创建:msgget、shmget、semget,调用get函数时必须指定关键字key。

    IPC 对象的权限和所有者结构体:

struct ipc_perm{key_t key;ushort uid; /* owner euid and egid */ushort gid;ushort cuid; /* creator euid and egid */ushort cgid;ushort mode; /* access modes see mode flags below */ushort seq; /* slot usage sequence number */};


0 0
原创粉丝点击