在semid_ds结构体中,存在一个指向信号量数组基址的指针。每个数组元素都是sem结构体类型。它也在linux/sem.h:
/* One semaphore structure for each semaphore in the system. */
struct sem {
short sempid; /* pid of last operation */
ushort semval; /* current value */
ushort semncnt; /* num procs awaiting increase in semval */
ushort semzcnt; /* num procs awaiting semval = 0 */
};
执行上次操作的 PID (进程 ID)
信号量的当前值
等待资源可用的进程数
等待 100% 资源利用率的进程数