System V进程通信

来源:互联网 发布:达芬奇调色软件mac版 编辑:程序博客网 时间:2024/06/03 12:13

Linux使用System(V) 引入的机制,来支持用户进程的进程间通信和同步。内核通过系统调用提供了各种例程,使用库能够实现所需的操作。
5.3.1 System V机制
System vUNIX的进程间通信(IPC)机制(信号量、笑笑队列、共享内存)。他们都使用了全系统范围资源,可以有进程进程同时共享。
在访问IPC对象时,系统采用了基于文件访问权限的一个权限系统。每个IPC对象都有一个用户ID和一个ID,依赖于产生IPC对象的程序子啊何种UID/GID之下运行。类似于普通的文件,这些控制了3中不同用户类别的访问:所有者、组、其他。

5.3.2 信号量
System V信号
数组中每个sembuf项由3个成员组成struct sembuf
(1)第一个成员选择信号量集合中需要操作的信号量
(2)第二个成员指定所需的操作。0表示一直等待,知道信号量的值到达为0。正数表示家那个该值加到信号量。服饰用于请求资源。如果器绝对值小于信号量的值,则从当前信号量值将去器值,不会再信号量上睡眠;否则进程阿精被阻塞,直至信号量值回复到允许操作进行的程度为止。

2 数据结构
内核使用了几个数据结构来描述所有注册信号量的当前状态,并建立一种网状结构。他们不仅负责管理信号量机器特征,还负责通过等待列表将信号量与等待进程关联起来。
msgget\shmget\semget

0 0